C++ String类构造函数

C++ String类构造函数,第1张

构造函数描述
string(const char*)将string对象初始化为s指向的NBTS(null-terminated string)即以空字符结束的传统C字符串
string(size_type n,char c)创建一个包含n个元素的string对象,其中每个元素都被初始化为字符c
string(const string &str)将一个string对象初始化为string对象str(复制构造函数)
string()创建一个默认的string对象,长度为0
string(const char *s,size_type n)将string对象初始化为s指向的NBTS的前n个字符,即使超过了NBTS的结尾

template

string(Iter begin,Iter end)

将string对象初始化为区间为区间[begin,end]内的字符,其中begin和end的行为就像指针,用于指定位置,范围包括begin在内,但不包括end
string(const string &str,size_type pos,size_type n =npos)将一个string对象初始化为对象str中从位置pos开始到结尾的字符,或从位置pos开始的n个字符
string(string &&str)noexcept这是C++11新增的,它将一个string对象初始化为string对象str,并可能修改str(移动构造函数)
string(initializer_list il)这是C++11新增的,它将一个string渡西iang初始化为初始列表il中的字符

将代码与输出贴在下边,

1.注意4使用了运算符重载.

2.第七个的第一个参数应该是const string &str,但是这里使用了char[],是自动进行了类型转换。


3.第六个,对于iter begin,iter end,这两个参数来说,可以直接用&给出地址,也可以使用数组名代表地址。


但是不能用对象名,比如string seven(five+6,five+10).因为对象名不被看作对象的地址,与数组不一样。


#include 
#include 
using namespace std;
void test_string();
int main() {
    test_string();
    return 0;
}

void test_string()
{
    //1.
    string one("aa");
    cout<<"one is "<

 

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/563215.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-02
下一篇 2022-04-02

发表评论

登录后才能评论

评论列表(0条)