C++基础---string类的operator=/assign

来源:互联网 发布:网络摄像头 编辑:程序博客网 时间:2024/06/05 06:55

1. string类的operator=/assign

1.1 std::string::operator=

  • 原型: string& operator= (const string& str);
  • 说明: 把string型字符串str赋给当前字符串。
  • 原型: string& operator= (const char* s);
  • 说明: 把char型字符串s赋给当前字符串。
  • 原型:string& operator= (char c);
  • 说明: 把字符c赋给当前字符串。
  • 代码示例:

    #include <iostream>#include <string>using namespace std;int main(){    string str1, str2, str3;    str1 = "Test string: ";//c-string    str2 = 'x';            //single character    str3 = str1 + str2;    //string    cout<<"string& operator= (const char* s);"<<endl;    cout<<str1<<endl;    cout<<endl;    cout<<"string& operator= (char c);"<<endl;    cout<<str2<<endl;    cout<<endl;    cout<<"string& operator= (const string& str);"<<endl;    cout<<str3<<endl;    cout<<endl;    system("pause");    return 0;}=>string& operator= (const char* s);  Test string:  string& operator= (char c);  x  string& operator= (const string& str);  Test string: x

1.2 std::string::assign

  • 原型:string& assign (const string& str);
  • 说明: 用string型字符串str赋值给当前字符串。
  • 代码示例:

    #include <iostream>#include <string>using namespace std;int main(){    string str0="The quick brown fox jumps over a lazy dog.";    string str1;    str1.assign(str0);    cout<<"string& assign (const string& str);"<<endl;    cout<<str1<<endl;    system("pause");    return 0;}=>string& assign (const string& str);  The quick brown fox jumps over a lazy dog.
  • 原型:string& assign (const string& str, size_t subpos, size_t sublen);
  • 说明: 用string型字符串str中下标为subpos处开始拷贝sublen个字符赋值给当前字符串。
  • 代码示例:

    #include <iostream>#include <string>using namespace std;int main(){    string str0="The quick brown fox jumps over a lazy dog.";    string str2;    str2.assign(str0, 10, 9);    cout<<"string& assign (const string& str, size_t subpos, size_t sublen);"<<endl;    cout<<str2<<endl;    system("pause");    return 0;}=>string& assign (const string& str, size_t subpos, size_t sublen);  brown fox
  • 原型:string& assign (const char* s);
  • 说明: 用char型字符串s赋值给当前字符串。
  • 代码示例:

    #include <iostream>#include <string>using namespace std;int main(){    string str3;    str3.assign("c-string");    cout<<"string& assign (const char* s);"<<endl;    cout<<str3<<endl;    system("pause");    return 0;}=>string& assign (const char* s);  c-string
  • 原型:string& assign (const char* s, size_t n);
  • 说明: 用char型字符串s的前n个字符赋值给当前字符串。
  • 代码示例:

    #include <iostream>#include <string>using namespace std;int main(){    string str4;    str4.assign("pangrams are cool",7);    cout<<"string& assign (const char* s, size_t n);"<<endl;    cout<<str4<<endl;    system("pause");    return 0;}=>string& assign (const char* s, size_t n);  pangram
  • 原型:string& assign (size_t n, char c);
  • 说明: 用n个字符c赋值给当前字符串。
  • 代码示例:

    #include <iostream>#include <string>using namespace std;int main(){    string str5;    str5.assign(10,'*');    cout<<"string& assign (size_t n, char c);"<<endl;    cout<<str5<<endl;    system("pause");    return 0;}=>string& assign (size_t n, char c);  **********
  • 原型:template < class InputIterator>string& assign (InputIterator first, InputIterator last);
  • 说明: Copies the sequence of characters in the range [first,last), in the same order.
  • 代码示例:

    #include <iostream>#include <string>using namespace std;int main(){    string str0="The quick brown fox jumps over a lazy dog.";    string str6;    str6.assign(str0.begin()+16,str0.end()-12);    cout<<"template < class InputIterator>string& assign (InputIterator first, InputIterator last);"<<endl;    cout<<str6<<endl;    system("pause");    return 0;}=>template < class InputIterator>string& assign (InputIterator first, InputIterator last);  fox jumps over
  • 原型:string& assign (initializer_list il);
  • 说明: Copies each of the characters in il, in the same order.
  • 代码示例:

    #include <iostream>#include <string>using namespace std;int main(){    string str7;    str7.assign<int>(10,0x2D);    cout<<"string& assign (initializer_list<char> il);"<<endl;    cout<<str7<<endl;    system("pause");    return 0;}=>string& assign (initializer_list<char> il);  ----------

参考文献:
[1] 网络资源:
http://www.cplusplus.com/reference/string/string/operator=/
http://www.cplusplus.com/reference/string/string/assign/

0 0