commit 2025-09-28 11:34 edit a bit ZCppMain/ZMainHead.H

This commit is contained in:
2025-09-28 11:35:04 +09:00
parent 290b72d362
commit c617e6ea8a

View File

@ -901,7 +901,8 @@ namespace ZNsMain
-- 2021-04-10 16:15 -- 2021-04-10 16:15
*/ */
template<typename TType> class ZtCCheckRef template<typename TType>
class ZtCCheckRef /*###############################################*/
{ {
public : public :
typedef TType TypeData; typedef TType TypeData;
@ -915,11 +916,13 @@ namespace ZNsMain
public : public :
static TypeData PassData(TypeData AO_Data){return AO_Data;} static TypeData PassData(TypeData AO_Data){return AO_Data;}
};/* };/*
template<typename TType> class ZtCCheckRef*/ template<typename TType>
class ZtCCheckRef #################################################*/
/* ZtCRef 전문화 */ /* ZtCRef 전문화 */
template<typename TType> class ZtCCheckRef< ZtCRef<TType> > template<typename TType>
class ZtCCheckRef< ZtCRef<TType> > /*##############################*/
{ {
public : public :
typedef TType& TypeData; typedef TType& TypeData;
@ -935,26 +938,29 @@ namespace ZNsMain
static TypeData PassData(TypeData AO_Data){return AO_Data;} static TypeData PassData(TypeData AO_Data){return AO_Data;}
static TypeData PassData(ZCRef& AO_Data){return AO_Data.GetData();} static TypeData PassData(ZCRef& AO_Data){return AO_Data.GetData();}
};/* };/*
template<typename TType> class ZtCCheckRef< ZtCRef<TType> >*/ template<typename TType>
class ZtCCheckRef< ZtCRef<TType> > ################################*/
/*////////////////////////////////////////////////////////// /*///////////////////////////////////////////////////////////////////////
■ ZtCRef* 전문화 ■ ZtCRef* 전문화
아래 함수 아래 함수
template<typename TTypType> inline ZtCRef<TTypType>* template<typename TTypType> inline
ZftMakeCPtr(TTypType& AR_TypeData){ return (ZtCRef<TTypType>*)(&AR_TypeData);} ZtCRef<TTypType>* ZftMakeCPtr(TTypType& AR_TypeData)
{ return (ZtCRef<TTypType>*)(&AR_TypeData); }
를 통해, 생성된 포인터에 대해서, 정적 멤버 PassData() 로 를 통해, 생성된 포인터에 대해서, 정적 멤버 PassData() 로
TypeRaw* 로 강제변환하고 있다. 그래서 ZtCRef<TTypType> 객 TypeRaw* 로 강제변환하고 있다. 그래서 ZtCRef<TTypType> 객
체의 생성없이 TypeRaw 를 참조로 다룰려고 하는 것이다. 체의 생성없이 TypeRaw 를 참조로 다룰려고 하는 것이다.
-- 2025=08-07 17:19 -- 2025-08-07 17:19
//////////////////////////////////////////////////////////*/ ///////////////////////////////////////////////////////////////////////*/
template<typename TType> class ZtCCheckRef< ZtCRef<TType>* > template<typename TType>
class ZtCCheckRef< ZtCRef<TType>* > /*#############################*/
{ {
public : public :
typedef TType& TypeData; typedef TType& TypeData;
@ -972,7 +978,8 @@ namespace ZNsMain
static TypeData PassData(ZCRef* AP_CRef) static TypeData PassData(ZCRef* AP_CRef)
{ return *reinterpret_cast<TypeRaw*>(AP_CRef); } { return *reinterpret_cast<TypeRaw*>(AP_CRef); }
};/* };/*
template<typename TType> class ZtCCheckRef< ZtCRef<TType>* >*/ template<typename TType>
class ZtCCheckRef< ZtCRef<TType>* > ###############################*/
template<typename TType> class ZtCCheckConstRef template<typename TType> class ZtCCheckConstRef