标准库 string类型和字符串字面值

1.标准库 string类型

string类型支持长度可变的字符串,C++标准库将负责管理与存储字符相关的内存,以及提供各种有用的操作。标准string类型的目的就是满足对字符串的一般应用。

与其他的标准库类型一样,用户程序要是string类型对象,必须包含相关头文件。如果提供了合适的using声明,那么编写出来的程序将会变得简短些;

#include <string>
using std::string

2.string 对象的定义和初始化

构造函数是一个特殊成员函数,定义如何初始化该类型的对象。下表中列出几个string类型常用的构造函数。当没有明确指定对象初始化时,系统将使用默认函数。

几种初始化string对象的方式
string s1; 默认构造函数s1 为空串
string s2(s1); 将s2 初始化s1的一个副本
string s3("value"); 将 s3 初始化为一个字符串字面值副本
string s4(n,'c'): 将 s4 初始化为字符‘c’的 n 个副本

警告:因为历史原因以及C语言兼容,字符串面值与标准库 string 类型不是同一种类型。这一点很容易引起混乱,编程时一定要注意区分字符串字面值和string数据类型的使用。

什么是默认构造函数?

答:默认构造函数(default constructor)就是在没有显示提供初始化式调用的构造函数。它由不带参数的构造函数,或者为所有形参提供默认实参的构造函数定义。如果定义某个类的变量时没有提供初始化,就会使用默认构造函数。

如果用户定义类中没有显式定义任何构造函数,编译器就会自动为该类生成默认构造函数,称为合成的默认构造函数。
原文链接: https://www.cnblogs.com/canyuexingchen/archive/2012/08/10/2631985.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/58845

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月9日 上午8:52
下一篇 2023年2月9日 上午8:52

相关推荐