explicit keyword

Minjun_·2022년 8월 15일

C++

목록 보기
5/5
post-thumbnail

explicit keyword는 원하지 않는 형변환이 일어나지 않도록 제한한다.

#include <iostream>

class A {
public:
	int num;
	A(int n) : num(n) { } // (1)
	explicit A(int n) : num(n) { } // (2)
};

void print(A a) {
	pstd::cout << a.num << std::endl;
}

int main() {
	int n = 26;
	printA(n);
}

함수 인자로 들어오는 int형이 자동으로 A 클래스로 형변환이 일어난다. (1)

이를 막기위해 생성자에 explicit 키워드를 붙인다. (2)

explicit keyword를 붙이면 compiler가 자동으로 형변환을 하는 것을 막을 수 있다.

profile
졸음을 이겨내자..!

0개의 댓글