template, initialisation explicte de la valeur

42_Cursus·2022년 5월 20일
0

CPP

목록 보기
8/10

Initialisation explicite de la valeur

템플릿에는 어떠한 타입의 변수를 넣을지 알수없다.
그렇기에, 명시적으로 임의의 타입의 자료형을 초기화할수있다.

자료형의 초기화

자료형의 초기화를 하지 않으면, 정의되지않은 값(쓰레기값)을 가지기 때문에 프로그램의 오류를 발생시킬수있다.
따라서, 안정적인 프로그램을 만들기 위해서는 자료형의 초기화는 선택이 아닌 필수이다.

  • 템플릿 함수의 변수 초기화
template<typename T = int>
void	test() 
{
	T i;
    
    i = T (); // 명시적호출로 초기화
    std::cout << "i est : " << i << std::endl;
}

int	main(void)
{
	test();
    return (0);
}
  • 클래스 템플릿에서의 변수 명시적 초기화
template<typename T>
class test
{
	public:
    	typedef T 	value_type;
        typedef T*	pointer;
        
        test() : value_type(0), pointer(NULL)
        {}
        
        test( value_type const &val = value_type(), 
        	pointer const &ptr = pointer())
        {}	// initialisation explicite
        /.../
    
    private:
    	/.../
profile
etudiant_42

0개의 댓글