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
- C++基础---string类的operator=/assign
- C++基础---string类的operator==/operator!=/operator</operator<=/operator>/operator>=/compare
- C++基础---string类的operator<</operator>>/getline
- C++基础---string类的operator+=/append/push_back
- C++基础--string类的operator[]/at/back/front
- C++:string 的substr()和assign()
- string assign 的用法
- string的assign用法
- string容器下的assign
- C++ string类assign用法
- QPixmap::operator=: Cannot assign to pixmap during painting
- 016.Assign Operator 赋值运算
- 016.Assign Operator 赋值运算
- 016.Assign Operator 赋值运算
- 【转】std::string.assign()的用法
- string 中 str.assign() 的用法
- std::string::assign 崩溃的问题
- c++operator new/new operator、operator delete/delete operator的区别与联系
- CodeForces #317 (div2) C.Lengthening Sticks (容斥)
- 黑马程序员—学习笔记—接口
- MySQL中/*!代码 ……*/的使用
- Servlet的线程安全问题
- Spring JdbcTemplate batchUpdate() example
- C++基础---string类的operator=/assign
- lua元表理解
- equals和==的区别
- 月之数
- java EE 5,JSP中核心标签库的无法使用
- 存储过程引发的思考
- hdu1233 还是畅通工程 prim
- DesignPattern_Java:Abstract Factory Pattern
- 关于windows xp sp2/sp3 中tcpip.sys对于Raw socket的限制