C에서 클래스 정의 내에서 직접 const std::string 유형의 정적 데이터 멤버를 초기화하는 것은 다음과 같습니다. 허용되지 않습니다. 대신 이러한 데이터 멤버를 정의하는 두 가지 옵션이 있습니다.
클래스 정의 내에서 정적 멤버를 정의하고 초기화하는 인라인 변수를 사용하세요.
class A { private: inline static const string RECTANGLE = "rectangle"; };
클래스 정의 외부에 정적 멤버를 정의하고 초기화 프로그램을 별도로 제공합니다. 구현 파일:
헤더 파일
class A { private: static const string RECTANGLE; };
구현 파일
const string A::RECTANGLE = "rectangle";
클래스 정의 내에서 정적 데이터 멤버를 초기화하는 구문은 정수 및 열거형 유형에 대해 지원됩니다. const std::string과 같은 비정수 유형의 경우 이 접근 방식은 유효하지 않습니다.
위 내용은 C에서 정적 `const std::string` 데이터 멤버를 초기화하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!