string类型

字符串字面值,如acbd,和string类型不是同一种类型,因此无法比较。

 #include<iostream>
using namespace std;
int main()
{
        string s;   
      if(s.empty())
        {
        s = "abcde";
        cout<<s.size()<<endl; //返回size_type类型  输出为:5
        cout<<s[3]<<endl;//返回字符串的第三个字符   输出为:c
        }
        cout<<sizeof(string::size_type)<<endl;//占8个字节 输出:8

        //compare 
        string str1,str2,str3;  
        cout<<"print three string type"<<endl;
        cin>>str1>>str2>>str3;    //输入:ha hb hc
        if(str1>str2)
        {
          if(str1>str3)
                cout<<str1<<":largest"<<endl;
        }
        else
        {
          if(str2>str3)
                cout<<str2<<":largest"<<endl;
          else
                cout<<str3<<":largest"<<endl;
        }              //输出:hc:largest 

        //add
        string a("what's "),b("your name.");
        string c = a + b;
        cout<<c<<endl; //输出:what's your name.

        //内存
        string cach1;
        extern string cach2;
        cout<<&cach1<<endl;//输出:0x7fffaa06d520
       // cout<<&cach2<<endl;
        return 0;
}

 

string对象的赋值。

string str1,str2 = " good day";

str1 = str2;

先把str1的内存释放掉,然后分配给st1足够存放str2副本的内存空间,最后复制。

string::clear()

The string content is set to an empty string, erasing any previous content and thus leaving its size at 0 characters.

posted @ 2012-07-13 11:47  propheteia  阅读(577)  评论(0)    收藏  举报