相关疑难解决方法(0)

basic_string类是否真的具有需要多个参数的复制构造函数,还是只是构造函数?

我正在阅读为什么复制构造函数有多个参数?.

接受的答案说:

std::basic_string的确有一个:

basic_string(const basic_string& s, 
         size_type pos = 0, size_type n = npos)
Run Code Online (Sandbox Code Playgroud)

但是http://www.cplusplus.com/reference/string/basic_string/basic_string/说:

basic_string (const basic_string& str, size_type pos, size_type len = npos,
              const allocator_type& alloc = allocator_type());
Run Code Online (Sandbox Code Playgroud)

上面不是复制构造函数,而是子串构造函数,它复制str从字符位置开始pos并跨越len字符的部分.

C++标准部分说:

如果X类的第一个参数是X&,const X&,volatile X&或const volatile X&,并且没有其他参数或者所有其他参数都有默认参数,则X类的非模板构造函数是一个复制构造函数

那么,该链接的接受答案是否不正确?这是子串的真正basic_string类构造函数吗?我已经在链接上检查了C++ 98,C++ 11和C++ 14规范中的原型并显示了相同的内容.

c++ string parameters stdstring copy-constructor

1
推荐指数
1
解决办法
261
查看次数

标签 统计

c++ ×1

copy-constructor ×1

parameters ×1

stdstring ×1

string ×1