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/
5348

被折叠的 条评论
为什么被折叠?



