[ C++ 20 ] Conditionally Explicit Constructor

Minsu._.Lighting·2024년 3월 20일
0

📔 [ Modern C++ / C# ]

목록 보기
7/8

💡 Conditionally Explicit Constructor?

  • 조건부 Explicit 생성자

  • 조건에 맞는 경우에만 암시적 형변환을 허용 하겠다!



💡 Designated Initialization 사용 방법!

  • explicit(조건) 조건 설정
class CTest
{
	template<typename T>
    explicit(!std::is_same<T, bool>::value) Test(T t)
    {
    	...
    }
    ...
}

void MyFucn(CTest test)
{
	...
}

CTest test = true;
MyFucn(test);		// OK!
MyFucn(true);		// OK! 조건에 맞는 bool 타입 이기 때문에 암시적 형변환 허용!
MyFucn(10);			// Error! 조건에 맞지 않는 int 타입 이기 때문에 암시적 형변환 불가!
profile
오코완~😤😤

0개의 댓글

관련 채용 정보