Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++에서 명시적 키워드는 무엇을 의미합니까?


C++의 명시적 키워드는 유형을 암시적으로 변환하지 않도록 생성자를 표시하는 데 사용됩니다. 예를 들어 Foo −

클래스가 있는 경우
class Foo {
public:
    Foo(int n); // allocates n bytes to the Foo object
    Foo(const char *p); // initialize object with char *p
};

이제 시도하면

Foo mystring = 'x';

문자 'x'는 암시적으로 int로 변환된 다음 Foo(int) 생성자를 호출합니다. 그러나 이것은 의도한 것이 아닙니다. 따라서 이러한 조건을 방지하고 오류가 발생하기 쉬운 코드를 줄이려면 생성자를 명시적으로 정의하십시오. −

예시

class Foo {
   public:
      explicit Foo (int n); //allocate n bytes
      Foo(const char *p); // initialize with string p
};