C++ 语言 的 标准模板库 ( STL , Standard Template Library ) 中的 std::string
是一个类 , 该类封装了 字符串 的数据和操作 ;
std::string
类 的本质 是一个动态大小的字符串 , 可以包含任何字符 , 包括字母 / 数字 / 标点符号等 ;
使用 string 类字符串 , 需要导入 string 头文件 :
#include "iostream"
using namespace std;
#include "string"
在 C++ 中 , string 和 char* 都可以表示字符串 , 其有如下区别 :
C 语言中 , 只能使用 char* 字符串 ;
string 构造函数 :
std::string
对象 ;std::string();
std::string(const std::string& other);
std::string(const char* s);
std::string(const char* s, size_t n);
std::string
对象 a 和 b , 并将它们拼接起来创建一个新的 std::string
对象 ; 使用 + 运算符将它们拼接起来 ;std::string(const std::string& a, const std::string& b);
string(int n,char c);
代码示例 :
#include "iostream"
using namespace std;
#include "string"
int main() {
// 直接使用字符串常量初始化
string s1 = "Hello World!";
// 字符数组构造函数
string s2("Tom and Jerry");
// 拷贝构造函数
string s3 = s2;
// 使用 3 个 a 字符 组成的字符串
string s4(3, 'a');
// 拼接构造函数
string s5 = s1 + s2;
cout << "s1 : " << s1 << endl;
cout << "s2 : " << s2 << endl;
cout << "s3 : " << s3 << endl;
cout << "s4 : " << s4 << endl;
cout << "s5 : " << s5 << endl;
// 控制台暂停 , 按任意键继续向后执行
system("pause");
return 0;
};
执行结果 :
s1 : Hello World! s2 : Tom and Jerry s3 : Tom and Jerry s4 : aaa s5 : Hello World!Tom and Jerry Press any key to continue . . .