C++中对string对象的初始化及赋值方式总结

C++中对string对象的初始化及赋值方式总结

C++中的string对象是最常用的几种数据类型之一。
初始化string对象的方式有以下几种:

string s1;           //默认初始化,s1是一个空串
string s2(s1);       //s2是s1的副本
string s3("value");  //直接初始化,s3是字面值"value"的副本,除了字面值最后的那个空字符外
string s3 = "value"; //拷贝初始化,等价于s3("value"),s3是字面值"value"的副本
string s4(n,'c');    //直接初始化,把s4初始化为由连续n个字符'c'组成的串
string s5 = string(5,'c');//拷贝初始化,s5的内容是ccccc

上面的内容是抄自《C++ Primer(第五版)》上的,其实用字符串指针也能对string对象进行初始化,举例如下:

#include<iostream>
#include<string>

using namespace std;

int main() {
    char *p = "HAHAHAHAHAHA";
    string str1 = p;
    string str2(p);
    string str3;
    str3 = p;
    cout << "str1的值是:" << str1 << endl 
        << "str3的值是:" << str2 << endl 
        << "str3的值是:" << str3 << endl;
    return 0;
}

代码的运行结果是:
这里写图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值