class A{
list<int> _li; //我不希望在构造函数的时候进行赋值
public:
A(){};
void getLi(){ //这个函数如果不声明成const就不能被const变量调用,但由于修改成员变量不能被声明成const
for (int i = 0; i < 10; i++) _li.push_back(i);
}
};
void main(){
const A a;
a.getLi(); //编译报错
}
我应该怎么处理这种仅在调用某函数时赋值的情况?
我也想过用mutable,但我觉得mutable只适用于不描述对象属性的变量,用在这里是一种滥用,有没有别的解决方式?
mutable啊,忘了?
解决