commit 2025-09-07 12:20 edit a bit ZCppMain/ZMainHead.H
This commit is contained in:
@ -1237,6 +1237,70 @@ namespace ZNsMain
|
|||||||
|
|
||||||
int VariMy=0; ZtStTuple<int&> myt1 = ZftMakeTuple(ZftMCP(VariMy));
|
int VariMy=0; ZtStTuple<int&> myt1 = ZftMakeTuple(ZftMCP(VariMy));
|
||||||
|
|
||||||
|
■ std::tuple<> 용례-1 -- 2025-09-07 12:08
|
||||||
|
|
||||||
|
#include <tuple>
|
||||||
|
#include <iostream>
|
||||||
|
|
||||||
|
int main() {
|
||||||
|
int nownum=42;
|
||||||
|
|
||||||
|
// Creating a tuple
|
||||||
|
std::tuple<int&, std::string, double> myTuple(nownum, "Hello", 3.14);
|
||||||
|
|
||||||
|
// Accessing elements
|
||||||
|
std::cout << std::get<0>(myTuple) << "\n"; // Outputs: 42
|
||||||
|
std::cout << std::get<1>(myTuple) << "\n"; // Outputs: Hello
|
||||||
|
std::cout << std::get<2>(myTuple) << "\n"; // Outputs: 3.14
|
||||||
|
|
||||||
|
// Modifying elements
|
||||||
|
std::get<1>(myTuple) = "World";
|
||||||
|
std::cout << std::get<1>(myTuple) << "\n"; // Outputs: World
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
■ std::tuple<> 용례-2 -- 2025-09-07 12:09
|
||||||
|
|
||||||
|
#include <tuple>
|
||||||
|
#include <iostream>
|
||||||
|
|
||||||
|
std::tuple<int, double, std::string> getValues() {
|
||||||
|
return {42, 3.14, "Hello"};
|
||||||
|
}
|
||||||
|
|
||||||
|
int main() {
|
||||||
|
auto [x, y, z] = getValues(); // Structured binding (C++17)
|
||||||
|
std::cout << x << ", " << y << ", " << z << "\n"; // Outputs: 42, 3.14, Hello
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
■ std::tuple<> 용례-3 -- 2025-09-07 12:11
|
||||||
|
|
||||||
|
#include <iostream>
|
||||||
|
#include <tuple>
|
||||||
|
#include <string>
|
||||||
|
|
||||||
|
int main() {
|
||||||
|
// 기본 생성 및 값 할당
|
||||||
|
std::tuple<std::string, int, double> tpl;
|
||||||
|
std::get<0>(tpl) = "Example";
|
||||||
|
std::get<1>(tpl) = 42 ;
|
||||||
|
std::get<2>(tpl) = 3.14 ;
|
||||||
|
|
||||||
|
// make_tuple을 사용한 초기화
|
||||||
|
auto tpl2 = std::make_tuple("Hello", 100, 1.23);
|
||||||
|
|
||||||
|
// 구조적 바인딩 (C++17 이상)
|
||||||
|
auto [str, num, val] = tpl2;
|
||||||
|
|
||||||
|
std::cout << "Tuple 1: " << std::get<0>(tpl) << ", " << std::get<1>(tpl) << ", " << std::get<2>(tpl) << '\n';
|
||||||
|
std::cout << "Tuple 2: " << str << ", " << num << ", " << val << '\n';
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
//////////////////////////////////////////////////////////////////////////////////////////*/
|
//////////////////////////////////////////////////////////////////////////////////////////*/
|
||||||
|
|
||||||
template< typename Type1 =void, typename Type2 =void,
|
template< typename Type1 =void, typename Type2 =void,
|
||||||
|
@ -23,8 +23,9 @@ namespace ZNsMain
|
|||||||
ZCStringStd VO_BuffCStr("myBuff") ;
|
ZCStringStd VO_BuffCStr("myBuff") ;
|
||||||
ZTypInt VI_NowCnt = 0 ;
|
ZTypInt VI_NowCnt = 0 ;
|
||||||
|
|
||||||
|
cout<<"# __cplusplus : "<<__cplusplus<<endl;
|
||||||
|
|
||||||
#ifdef __CPP_1998__
|
#if defined(__CPLUSPLUS_VER__) && __CPLUSPLUS_VER__<=199800
|
||||||
|
|
||||||
cout<<"# Use C++ 98 Spec"<<endl;
|
cout<<"# Use C++ 98 Spec"<<endl;
|
||||||
|
|
||||||
@ -48,10 +49,10 @@ namespace ZNsMain
|
|||||||
myt9 = ZftMakeTuple(1, 34, 'C', ZftMCP(VO_BuffCStr), true, "AB", double(0.34), float(24.43), ZftMCP(VO_BuffCStr));
|
myt9 = ZftMakeTuple(1, 34, 'C', ZftMCP(VO_BuffCStr), true, "AB", double(0.34), float(24.43), ZftMCP(VO_BuffCStr));
|
||||||
ZtStTuple<int, int, char, ZCStringStd&, bool, const char*, double, float, ZCStringStd&, int&>
|
ZtStTuple<int, int, char, ZCStringStd&, bool, const char*, double, float, ZCStringStd&, int&>
|
||||||
myt10= ZftMakeTuple(1, 34, 'C', ZftMCP(VO_BuffCStr), true, "AB", double(0.34), float(24.43), ZftMCP(VO_BuffCStr), ZftMCP(VI_NowCnt));
|
myt10= ZftMakeTuple(1, 34, 'C', ZftMCP(VO_BuffCStr), true, "AB", double(0.34), float(24.43), ZftMCP(VO_BuffCStr), ZftMCP(VI_NowCnt));
|
||||||
ZtStTuple<int, int, char, ZCStringStd&, bool, const char*, double, float, ZCStringStd&, int&, int>
|
ZtStTuple<int, int, char, ZCStringStd&, bool, const char*, double, float, ZCStringStd&, int&, long>
|
||||||
myt11= ZftMakeTuple(1, 34, 'C', ZftMCP(VO_BuffCStr), true, "AB", double(0.34), float(24.43), ZftMCP(VO_BuffCStr), ZftMCP(VI_NowCnt), 20250906);
|
myt11= ZftMakeTuple(1, 34, 'C', ZftMCP(VO_BuffCStr), true, "AB", double(0.34), float(24.43), ZftMCP(VO_BuffCStr), ZftMCP(VI_NowCnt), (long)20250906);
|
||||||
ZtStTuple<int, int, char, ZCStringStd&, bool, const char*, double, float, ZCStringStd&, int&, int, wchar_t>
|
ZtStTuple<int, int, char, ZCStringStd&, bool, const char*, double, float, ZCStringStd&, int&, long, wchar_t>
|
||||||
myt12= ZftMakeTuple(1, 34, 'C', ZftMCP(VO_BuffCStr), true, "AB", double(0.34), float(24.43), ZftMCP(VO_BuffCStr), ZftMCP(VI_NowCnt), 20250906, wchar_t(0));
|
myt12= ZftMakeTuple(1, 34, 'C', ZftMCP(VO_BuffCStr), true, "AB", double(0.34), float(24.43), ZftMCP(VO_BuffCStr), ZftMCP(VI_NowCnt), (long)20250906, wchar_t(0));
|
||||||
#else
|
#else
|
||||||
cout<<"# Use auto keyword for ZtStTuple<> variable"<<endl;
|
cout<<"# Use auto keyword for ZtStTuple<> variable"<<endl;
|
||||||
|
|
||||||
@ -65,8 +66,8 @@ namespace ZNsMain
|
|||||||
auto myt8 = ZftMakeTuple(1, 34, 'C', ZftMCP(VO_BuffCStr), true, "AB", double(0.34), float(24.43));
|
auto myt8 = ZftMakeTuple(1, 34, 'C', ZftMCP(VO_BuffCStr), true, "AB", double(0.34), float(24.43));
|
||||||
auto myt9 = ZftMakeTuple(1, 34, 'C', ZftMCP(VO_BuffCStr), true, "AB", double(0.34), float(24.43), ZftMCP(VO_BuffCStr));
|
auto myt9 = ZftMakeTuple(1, 34, 'C', ZftMCP(VO_BuffCStr), true, "AB", double(0.34), float(24.43), ZftMCP(VO_BuffCStr));
|
||||||
auto myt10= ZftMakeTuple(1, 34, 'C', ZftMCP(VO_BuffCStr), true, "AB", double(0.34), float(24.43), ZftMCP(VO_BuffCStr), ZftMCP(VI_NowCnt));
|
auto myt10= ZftMakeTuple(1, 34, 'C', ZftMCP(VO_BuffCStr), true, "AB", double(0.34), float(24.43), ZftMCP(VO_BuffCStr), ZftMCP(VI_NowCnt));
|
||||||
auto myt11= ZftMakeTuple(1, 34, 'C', ZftMCP(VO_BuffCStr), true, "AB", double(0.34), float(24.43), ZftMCP(VO_BuffCStr), ZftMCP(VI_NowCnt), 20250906);
|
auto myt11= ZftMakeTuple(1, 34, 'C', ZftMCP(VO_BuffCStr), true, "AB", double(0.34), float(24.43), ZftMCP(VO_BuffCStr), ZftMCP(VI_NowCnt), (long)20250906);
|
||||||
auto myt12= ZftMakeTuple(1, 34, 'C', ZftMCP(VO_BuffCStr), true, "AB", double(0.34), float(24.43), ZftMCP(VO_BuffCStr), ZftMCP(VI_NowCnt), 20250906, wchar_t(0));
|
auto myt12= ZftMakeTuple(1, 34, 'C', ZftMCP(VO_BuffCStr), true, "AB", double(0.34), float(24.43), ZftMCP(VO_BuffCStr), ZftMCP(VI_NowCnt), (long)20250906, wchar_t(0));
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
myt10._10 = 1200;
|
myt10._10 = 1200;
|
||||||
@ -135,8 +136,8 @@ int main(int AI_ArgCnt, char* APP_ArgVal[])*/
|
|||||||
|
|
||||||
■ mingw 컴파일
|
■ mingw 컴파일
|
||||||
|
|
||||||
g++.exe -std=c++98 -o ZftMakeTuple_000_mw_98.exe ZftMakeTuple_000.cpp -I../ -D__CPP_1998__
|
g++.exe -std=c++98 -o ZftMakeTuple_000_mw_98.exe ZftMakeTuple_000.cpp -I../ -D__CPLUSPLUS_VER__=199800
|
||||||
g++.exe -std=c++98 -o ZftMakeTuple_000_mw_98_D.exe ZftMakeTuple_000.cpp -I../ -D__CPP_1998__ -D_DEBUG
|
g++.exe -std=c++98 -o ZftMakeTuple_000_mw_98_D.exe ZftMakeTuple_000.cpp -I../ -D__CPLUSPLUS_VER__=199800 -D_DEBUG
|
||||||
|
|
||||||
g++.exe -o ZftMakeTuple_000_mw.exe ZftMakeTuple_000.cpp -I../
|
g++.exe -o ZftMakeTuple_000_mw.exe ZftMakeTuple_000.cpp -I../
|
||||||
g++.exe -o ZftMakeTuple_000_mw_D.exe ZftMakeTuple_000.cpp -I../ -D_DEBUG
|
g++.exe -o ZftMakeTuple_000_mw_D.exe ZftMakeTuple_000.cpp -I../ -D_DEBUG
|
||||||
@ -168,8 +169,8 @@ int main(int AI_ArgCnt, char* APP_ArgVal[])*/
|
|||||||
g++ -o ZftMakeTuple_000.exe ZftMakeTuple_000.cpp -I../
|
g++ -o ZftMakeTuple_000.exe ZftMakeTuple_000.cpp -I../
|
||||||
g++ -o ZftMakeTuple_000_D.exe ZftMakeTuple_000.cpp -I../ -D_DEBUG
|
g++ -o ZftMakeTuple_000_D.exe ZftMakeTuple_000.cpp -I../ -D_DEBUG
|
||||||
|
|
||||||
g++ -o ZftMakeTuple_000_98.exe ZftMakeTuple_000.cpp -I../ -D__CPP_1998__
|
g++ -o ZftMakeTuple_000_98.exe ZftMakeTuple_000.cpp -I../ -D__CPLUSPLUS_VER__=199800
|
||||||
g++ -o ZftMakeTuple_000_98_D.exe ZftMakeTuple_000.cpp -I../ -D__CPP_1998__ -D_DEBUG
|
g++ -o ZftMakeTuple_000_98_D.exe ZftMakeTuple_000.cpp -I../ -D__CPLUSPLUS_VER__=199800 -D_DEBUG
|
||||||
|
|
||||||
sauron@q381-2673:/mnt/e/my_CPP/ZCpp/ZCppMainTest$ gcc --version
|
sauron@q381-2673:/mnt/e/my_CPP/ZCpp/ZCppMainTest$ gcc --version
|
||||||
gcc (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0
|
gcc (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0
|
||||||
|
Reference in New Issue
Block a user