string Possible::str(int width) const {
string s(width, ' '); // <-- this line
int k = 0;
for (int i = 1; i <= 9; i++) {
if (is_on(i)) s[k++] = '0' + i;
}
return s;
}
这是什么意思? string s(width,'');
答案 0 :(得分:3)
答案 1 :(得分:3)
它是std::string
constructors之一,用于构建重复字符串。
答案 2 :(得分:1)
该行声明和定义类型为s
的对象string
,并将(width, ' ')
指定为初始化程序用于那个新对象。此初始化程序将生成相应的string
构造函数,并调用两个参数。该构造函数将初始化对象s
。
如果string
实际上是std::string
,那么这将调用string::string(size_t n, char c)
构造函数。它将使用一个长度为s
的字符串初始化width
,该字符串完全由空格字符组成。