STL容器之string构造函数和基本赋值

1.构造函数和基本赋值

#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
using namespace std;
#include <string>

/*
构造函数
string();//创建一个空的字符串 例如: string str;
string(const string& str);//使用一个string对象初始化另一个string对象
string(const char* s);//使用字符串s初始化
string(int n, char c);//使用n个字符c初始化

基本赋值操作
string& operator=(const char* s);//char*类型字符串 赋值给当前的字符串
string& operator=(const string &s);//把字符串s赋给当前的字符串
string& operator=(char c);//字符赋值给当前的字符串
string& assign(const char *s);//把字符串s赋给当前的字符串
string& assign(const char *s, int n);//把字符串s的前n个字符赋给当前的字符串
string& assign(const string &s);//把字符串s赋给当前字符串
string& assign(int n, char c);//用n个字符c赋给当前字符串
string& assign(const string &s, int start, int n);//将s从start开始n个字符赋值给字符串
*/

void test01()
{
    string str;         //默认构造
    string str2(str);   //拷贝构造
    string str3 = str;  //拷贝构造
    string str4 = "abcd";   //使用字符串s初始化
    string str5(10, 'a');   //使用n个字符c初始化

    cout << str4 << endl;
    cout << str5 << endl;

    //基本赋值
    str = "hello";  //string& operator=(const char* s)
    str2 = str4;    //string& operator=(const string &s)

    str3.assign("hello", 4);    //string& assign(const char *s, int n);
    cout << str3 << endl;

    string str6;
    str6.assign(str, 1, 3);     //string& assign(const string &s, int start, int n);  从0索引
    cout << str6 << endl;
}


int main()
{
    test01();
    system("Pause");
    return 0;
}

结果:

原文地址:https://www.cnblogs.com/yifengs/p/15188383.html