commit 2025-09-05 21:02 edit a bit ZCppMain/ZMainHead.H
This commit is contained in:
@ -1231,9 +1231,11 @@ namespace ZNsMain
|
|||||||
|
|
||||||
상식적으로도 ZtStTuple<int> 으로 쓸 일은 없다. -- 2021-03-04 16:27
|
상식적으로도 ZtStTuple<int> 으로 쓸 일은 없다. -- 2021-03-04 16:27
|
||||||
|
|
||||||
|
■ 이젠 ZtStTuple<int> 형태도 가능하다. ZftMakeTuple() 도 추가. - -2025-09-05 21:01
|
||||||
|
|
||||||
//////////////////////////////////////////////////////////////////////////////////////////*/
|
//////////////////////////////////////////////////////////////////////////////////////////*/
|
||||||
|
|
||||||
template< typename Type1 , typename Type2 =void,
|
template< typename Type1=void, typename Type2 =void,
|
||||||
typename Type3=void, typename Type4 =void,
|
typename Type3=void, typename Type4 =void,
|
||||||
typename Type5=void, typename Type6 =void,
|
typename Type5=void, typename Type6 =void,
|
||||||
typename Type7=void, typename Type8 =void,
|
typename Type7=void, typename Type8 =void,
|
||||||
@ -1241,11 +1243,24 @@ namespace ZNsMain
|
|||||||
>
|
>
|
||||||
struct ZtStTuple //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
struct ZtStTuple //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
{
|
{
|
||||||
typedef typename ZtCCheckRef<Type1>::TypeData TypeData1 ;
|
ZtStTuple(){}
|
||||||
|
};
|
||||||
|
/*###########################################################################################*/
|
||||||
|
|
||||||
|
|
||||||
|
template< typename Type1
|
||||||
|
>
|
||||||
|
struct ZtStTuple<Type1> ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
{
|
||||||
|
typedef ZNsMain::ZtCCheckRef<Type1> CCheckRef1 ;
|
||||||
|
typedef typename CCheckRef1::TypeData TypeData1 ;
|
||||||
|
|
||||||
TypeData1 _1;
|
TypeData1 _1;
|
||||||
|
|
||||||
ZtStTuple(TypeData1 _T1) : _1(_T1){}
|
ZtStTuple<Type1>(){}
|
||||||
|
ZtStTuple<Type1>(Type1 _T1) :
|
||||||
|
_1(CCheckRef1::PassData(_T1))
|
||||||
|
{}
|
||||||
};
|
};
|
||||||
/*###########################################################################################*/
|
/*###########################################################################################*/
|
||||||
template< typename Type1, typename Type2 ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
template< typename Type1, typename Type2 ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
@ -1542,6 +1557,13 @@ namespace ZNsMain
|
|||||||
/*###########################################################################################*/
|
/*###########################################################################################*/
|
||||||
|
|
||||||
|
|
||||||
|
template<typename Type1>
|
||||||
|
ZtStTuple<Type1> ZftMakeTuple(Type1 _T1)
|
||||||
|
{
|
||||||
|
return ZtStTuple<Type1>(_T1);
|
||||||
|
}/*
|
||||||
|
template<typename Type1>
|
||||||
|
ZtStTuple<Type1> ZftMakeTuple(Type1 _T1)*/
|
||||||
|
|
||||||
template<typename Type1, typename Type2>
|
template<typename Type1, typename Type2>
|
||||||
ZtStTuple<Type1, Type2> ZftMakeTuple(Type1 _T1, Type2 _T2)
|
ZtStTuple<Type1, Type2> ZftMakeTuple(Type1 _T1, Type2 _T2)
|
||||||
|
@ -23,6 +23,7 @@ namespace ZNsMain
|
|||||||
ZCStringStd VO_BuffCStr("myBuff");
|
ZCStringStd VO_BuffCStr("myBuff");
|
||||||
ZTypInt VI_NowCnt = 0;
|
ZTypInt VI_NowCnt = 0;
|
||||||
|
|
||||||
|
auto myt1 = ZftMakeTuple(1);
|
||||||
auto myt2 = ZftMakeTuple(1, 34);
|
auto myt2 = ZftMakeTuple(1, 34);
|
||||||
auto myt3 = ZftMakeTuple(1, 34, 'C');
|
auto myt3 = ZftMakeTuple(1, 34, 'C');
|
||||||
auto myt4 = ZftMakeTuple(1, 34, 'C', ZftMCP(VO_BuffCStr));
|
auto myt4 = ZftMakeTuple(1, 34, 'C', ZftMCP(VO_BuffCStr));
|
||||||
|
@ -163,8 +163,8 @@ int main(int AI_ArgCnt, char* APP_ArgVal[])*/
|
|||||||
|
|
||||||
■ mingw 컴파일
|
■ mingw 컴파일
|
||||||
|
|
||||||
g++.exe -o ZtCThreadEx_000_mw.exe ZtCThreadEx_000.cpp -I../
|
g++.exe -std=c++98 -o ZtCThreadEx_000_mw.exe ZtCThreadEx_000.cpp -I../
|
||||||
g++.exe -o ZtCThreadEx_000_mw_D.exe ZtCThreadEx_000.cpp -I../ -D_DEBUG
|
g++.exe -std=c++98 -o ZtCThreadEx_000_mw_D.exe ZtCThreadEx_000.cpp -I../ -D_DEBUG
|
||||||
|
|
||||||
./ZtCThreadEx_000_mw.exe
|
./ZtCThreadEx_000_mw.exe
|
||||||
./ZtCThreadEx_000_mw_D.exe
|
./ZtCThreadEx_000_mw_D.exe
|
||||||
|
@ -163,8 +163,8 @@ int main(int AI_ArgCnt, char* APP_ArgVal[])*/
|
|||||||
|
|
||||||
■ mingw 컴파일
|
■ mingw 컴파일
|
||||||
|
|
||||||
g++.exe -o ZtCThreadEx_001_mw.exe ZtCThreadEx_001.cpp -I../
|
g++.exe -std=c++98 -o ZtCThreadEx_001_mw.exe ZtCThreadEx_001.cpp -I../
|
||||||
g++.exe -o ZtCThreadEx_001_mw_D.exe ZtCThreadEx_001.cpp -I../ -D_DEBUG
|
g++.exe -std=c++98 -o ZtCThreadEx_001_mw_D.exe ZtCThreadEx_001.cpp -I../ -D_DEBUG
|
||||||
|
|
||||||
./ZtCThreadEx_001_mw.exe
|
./ZtCThreadEx_001_mw.exe
|
||||||
./ZtCThreadEx_001_mw_D.exe
|
./ZtCThreadEx_001_mw_D.exe
|
||||||
|
Reference in New Issue
Block a user