cc++中string类型的构造string是c++中常⽤到的类型,所以关于string的构造⽅法我们必须清楚:
在c++98中的构造函数有:
default (1)string();
copy (2)string (const string& str);c++中string的用法
substring (3)string (const string& str, size_t pos, size_t len = npos);
from c-string (4)string (const char* s);
from sequence (5)string (const char* s, size_t n);
fill (6)string (size_t n, char c);
range (7)template <class InputIterator>
string (InputIterator first, InputIterator last);
在c++11中的构造函数有:
default (1)string();
copy (2)string (const string& str);
substring (3)string (const string& str, size_t pos, size_t len = npos);
from c-string (4)string (const char* s);
from buffer (5)string (const char* s, size_t n);
fill (6)string (size_t n, char c);
range (7)template <class InputIterator>
string (InputIterator first, InputIterator last);
initializer list (8)string (initializer_list<char> il);
move (9)string (string&& str) noexcept;
(1) 是默认构造函数
(2) 拷贝构造函数
(3) ⼦串构造
(4) ⽤s指向的字符指针构造,直到s的结束或者遇到null字符串结束,因为s中可能含有null字符,所以⽤这个有⼀定风险。
(5) 和4的功能差不多,但是5可以指定长度,这样就避免了null结束的问题
(6) 构造⼀个含有n个字符的字符串,每个字符都是c
(7)从InputIterator中拷贝【first,last)作为新的字符串,注意左闭右开的区间
(8) 和2类似
(9)注意有noexcept修饰
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论