1
종종 오브젝트의 멤버 변수가 const가 될 수 있기를 희망하지만, 시스템은 생성 후에 해당 const 변수의 초기화를 허용합니다. 내가 이것을 할 수있는 메커니즘이 있습니까?오브젝트 생성 후 const 멤버 변수 초기화하기
class A
{
public:
A(){}
initialize(int x) { c = x; }
private:
const int c;
}
내가 그런 일을 할 수 있기를 원하는 :
명확히하기 위해, 여기에 예입니다. 건설시이 정보가 없으므로 초기화를 생성자의 초기화 목록으로 단순히 옮길 수는 없습니다.
const 키워드를 특별히 사용하는 방법이 없다고 생각합니다. 값이 초기화되었는지 여부를 나타내는 일종의 플래그를 사용해야하고 해당 값을 기반으로 변경을 허용하거나 허용하지 않아야합니다. –