3.2 标准库string类型
string类型支持长度可变的字符串,C++(www.cppentry.com)标准库负责管理存储字符的相关内存,以及提供各种有用的操作。标准库string类型的目的就是满足对字符串的一般应用。
与其它的标准库类型一样,用户程序要使用string类型对象,必须包含相关头文件。如果程序员提供合适的using声明,那么编写出来的程序将会变得简短一些:
#include <string> using std::string; |
3.2.1 定义和初始化String对象
string标准库支持几个构造函数(2.2.3节)。构造函数是一个特殊成员函数,定义如何初始化该类型的对象。表3-1列出了几个string类型常用的构造函数。当没有明确指定对象初始代式时,系统将使用默认构造函数(2.3.4节)。
表3-1 几种初始化String对象的方式
|
string s1; |
默认构造函数,s1为空串 |
|
string s2(s1); |
将s2初始化为s1的一个副本 |
|
string s3("value"); |
将s3初始化为一个字符串字面值副本 |
|
string s4(n, 'c'); |
将s4初始化为字符'c'的n个副本 |
警告:标准库string类型和字符串字面值
因为历史原因以及为了与C语言兼容,字符串字面值与标准库string类型不是同一种类型。这一点很容易引起混乱,编程(www.cppentry.com)时一定要注意区分字符串字面值和string数据类型的使用,这很重要。
习题
习题3.2 什么是默认构造函数?
习题3.3 列举出三种初始化String对象的方法。
习题3.4 s和s2的值分别是什么?
string s; int main() { string s2; } |
【责任编辑:
董书 TEL:(010)68476606】