commit 2025-09-05 21:02 edit a bit ZCppMain/ZMainHead.H

This commit is contained in:
2025-09-05 21:02:58 +09:00
parent 8477d1c3b9
commit 049521c7c7
4 changed files with 31 additions and 8 deletions

View File

@ -1230,10 +1230,12 @@ namespace ZNsMain
typedef ZtStTuple<int, int> CTupleInt2 는 정상이다.
상식적으로도 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 Type5=void, typename Type6 =void,
typename Type7=void, typename Type8 =void,
@ -1241,11 +1243,24 @@ namespace ZNsMain
>
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;
ZtStTuple(TypeData1 _T1) : _1(_T1){}
ZtStTuple<Type1>(){}
ZtStTuple<Type1>(Type1 _T1) :
_1(CCheckRef1::PassData(_T1))
{}
};
/*###########################################################################################*/
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>
ZtStTuple<Type1, Type2> ZftMakeTuple(Type1 _T1, Type2 _T2)

View File

@ -23,6 +23,7 @@ namespace ZNsMain
ZCStringStd VO_BuffCStr("myBuff");
ZTypInt VI_NowCnt = 0;
auto myt1 = ZftMakeTuple(1);
auto myt2 = ZftMakeTuple(1, 34);
auto myt3 = ZftMakeTuple(1, 34, 'C');
auto myt4 = ZftMakeTuple(1, 34, 'C', ZftMCP(VO_BuffCStr));

View File

@ -163,8 +163,8 @@ int main(int AI_ArgCnt, char* APP_ArgVal[])*/
■ mingw 컴파일
g++.exe -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.exe ZtCThreadEx_000.cpp -I../
g++.exe -std=c++98 -o ZtCThreadEx_000_mw_D.exe ZtCThreadEx_000.cpp -I../ -D_DEBUG
./ZtCThreadEx_000_mw.exe
./ZtCThreadEx_000_mw_D.exe

View File

@ -163,8 +163,8 @@ int main(int AI_ArgCnt, char* APP_ArgVal[])*/
■ mingw 컴파일
g++.exe -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.exe ZtCThreadEx_001.cpp -I../
g++.exe -std=c++98 -o ZtCThreadEx_001_mw_D.exe ZtCThreadEx_001.cpp -I../ -D_DEBUG
./ZtCThreadEx_001_mw.exe
./ZtCThreadEx_001_mw_D.exe