我想声明一个大小为'N'的变量。还有一个固定长度“ N”的字符串。 另外,如何在运行时为该字符串赋值?
喜欢,我尝试过 cin >> N; 字符串str(4);
没有匹配函数可调用'std :: __ cxx11 :: basic_string :: basic_string(int)'
答案 0 :(得分:0)
好吧,std::string
中没有仅采用大小参数的构造函数。您还需要提供一个char
值,它将用作字符串中每个字符的初始值。例如,要有一个字符串N
,您可以这样做:
std::string str(N, ' ');
但是,字符串的大小不会固定。您仍然可以稍后更改其长度:
str += ' '; // Now it contains N + 1 spaces.
除非您设置为std::string
,否则不能使用固定大小的const
。但是,如果这样做,则无法再更改字符串的内容。