📅  最后修改于: 2023-12-03 14:39:53.225000             🧑  作者: Mango
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=
时,应该注意以下几点:
\0
结尾,否则结果将不可预测。operator=
将一个字符串对象赋值给另一个字符串对象时,会将目标对象原来的值覆盖掉。如果需要复制一个字符串对象,可以使用string
的构造函数。C++ string.operator=()函数
是一个方便的字符串操作函数,使程序员能够轻松地将一个字符串对象的值赋给另一个字符串对象,从而简化了代码编写。但是,在使用时需要注意一些细节,以避免出现不可预测的行为。