之前在 main 函数里,赋值 6 个空格给一个变量可以执行
int main()
{
string sidebar(6, ' ');
return 0;
}
之后在类里面
class somethig
{
public:
void do_something()
{
sidebar(6, ' ');
// 或者是
sidebar = sidebar(6, ' ');
// 都出错
}
private:
string sidebar;
};
g++ 编译后就会出错
对‘(std::string {aka std::basic_string
有没有像 sidebar(6, ' ')
这样简洁实现跟下面一样效果的代码?
sidebar = " "; // 六个空格
要嘛如 1 所示,在建構函式中初始化成員變量,這個特徵叫做「建構子初始化列表」。
要麼在成員函數中為其賦值,如 2 所示。
樓主需要了解下C++物件拷貝和賦值區別,以及語法上的細節差異