📜  C++ string.operator=()函数(1)

📅  最后修改于: 2023-12-03 14:39:53.225000             🧑  作者: Mango

C++ string.operator=()函数介绍

简介

C++中,string是一个字符串类,提供了许多成员函数来方便地处理字符串。其中,operator=是其中一个重载运算符,用于将一个字符串对象的值赋给另一个字符串对象。

string& operator= (const string& str);
string& operator= (const char* s);
string& operator= (char c);

以上为operator=的三种重载形式,分别接受另一个字符串对象、一个C风格字符串和一个字符作为参数,并将其赋值给当前字符串对象。

示例

下面是一个简单示例,展示了如何使用operator=将一个字符串对象的值赋给另一个字符串对象。

#include <iostream>
#include <string>

using namespace std;

int main() {
    string str1 = "Hello";
    string str2 = "World";
    
    cout << "str1 = " << str1 << endl;
    cout << "str2 = " << str2 << endl;
    
    str2 = str1;
    
    cout << "After assigning str1 to str2:" << endl;
    cout << "str1 = " << str1 << endl;
    cout << "str2 = " << str2 << endl;
    
    return 0;
}

上述程序输出:

str1 = Hello
str2 = World
After assigning str1 to str2:
str1 = Hello
str2 = Hello
注意事项

使用operator=时,应该注意以下几点:

  • 如果使用第二种重载形式,需要保证C风格字符串以空字符\0结尾,否则结果将不可预测。
  • 使用operator=将一个字符串对象赋值给另一个字符串对象时,会将目标对象原来的值覆盖掉。如果需要复制一个字符串对象,可以使用string的构造函数。
结论

C++ string.operator=()函数是一个方便的字符串操作函数,使程序员能够轻松地将一个字符串对象的值赋给另一个字符串对象,从而简化了代码编写。但是,在使用时需要注意一些细节,以避免出现不可预测的行为。