string (const char * s); 将string对象初始化为s指向的NBTS
string (size_type n,char c); 创建一个包含n个元素的string对象,其中每个元素都被初始化为字符c
string (const char * s,size_type n); 将string对象初始化为s指向的前n个字符,即使超过了NBTS的结尾
string (const string & str,size_tpye n=npos); 将string对象初始化为对象str中从位置pos开始到结尾的字符,或从位置pos开始的n个字符
string (); 创建一个默认的string对象,长度为0
template<class Iter>
string(Iter begin,Iter end); 将string对象初始化为区间[begin,end)内的字符,其中begin,end的行为就像指针,用于指定位置,范围包括begin在内,但是不包括end
string::npos (通常为最大unsigned int值 比最大索引大1)
////////////////////////////////////////////
//
//string1.cpp
//
////////////////////////////////////////////
#include <iostream>
#include <string>
// using string constructors
int main()
{
using namespace std;
string one("Lottery Winner!"); // ctor #1
cout << one << endl; // overloaded <<
string two(20, '$'); // ctor #2
cout << two << endl;
string three(one); // ctor #3
cout << three << endl;
one += " Oops!"; // overloaded +=
cout << one << endl;
two = "Sorry! That was ";
three[0] = 'P';
string four; // ctor #4
four = two + three; // overloaded +, =
cout << four << endl;
char alls[] = "All's well that ends well";
string five(alls,20); // ctor #5
cout << five << "!\n";
string six(alls+6, alls + 10); // ctor #6
cout << six << ", ";
string seven(&five[6], &five[10]);// ctor #6 again
cout << seven << "...\n";
return 0;
}