欢迎来到 黑吧安全网 聚焦网络安全前沿资讯,精华内容,交流技术心得!

C++STL复习

来源:本站整理 作者:佚名 时间:2017-08-17 TAG: 我要投稿
    cout << pos << endl;
    const char *str = "abin002";
    s1.replace(3, 6, str);
    cout << s1 << endl;
}
 
//6 比较
/*
compare函数在>时返回 1,<时返回 -1,==时返回 0。
比较区分大小写,比较时参考字典顺序,排越前面的越小。
大写的A比小写的a小。
 
int compare(const string &s) const;//与字符串s比较
int compare(const char *s) const;//与字符串s比较
*/
void test9()
{
    string s1 = "hello";
    string s2 = "hello";
    const char *str = "aaa";
    string s3 = "aaa";
    int ret = s1.compare(s2);
    cout << ret << endl;
 
    ret = s1.compare(str);
    cout << ret << endl;
    ret = s3.compare(s1);
    cout << ret << endl;
}
//7 子串
/*
string substr(int pos = 0, int n = npos) const;//返回由pos开始的n个字符组成的字符串
*/
void test10()
{
    string s = "usrname@abin.com";
    int pos = s.find("@");
    string name = s.substr(0, pos);
    cout << name << endl;
}
 
//8 插入和删除
/*
string& insert(int pos, const char* s); //插入字符串
string& insert(int pos, const string& str); //插入字符串
string& insert(int pos, int n, char c);//在指定位置插入n个字符c
string& erase(int pos, int n = npos);//删除从Pos开始的n个字符
*/
void test11()
{
    string s1 = "hello";
    const char *str = "123";
    cout << s1.insert(2, str) << endl;
    cout << s1.erase(2, 3) << endl;
}
 
//9 字符串转换
/*
//string 转 char*
string str = "itcast";
const char* cstr = str.c_str();
//char* 转 string
char* s = "itcast";
string sstr(s);
*/
 
void change(const char *a)
{
    return;
}
 
void test12()
{
    //c_string---->string
    const char *str = "hell12o";
    string s(str);
    cout << s << endl;
 
    //string---->c_string
    string s1 = "world";
    const char *str2 = s1.c_str();
    cout << str2 << endl;
}
void test13()
{
    string s = "asbcdsfsa";
    char &a = s[2];
    char &b = s[3];
    a = '1';
    b = '0';
    cout << s << endl;
    cout << (int *)s.c_str() << endl;
}
void test14()
{
    string s = "a";
    int *p = NULL;
    int size = 0;
    for (int i = 0; i < 100; i++)
    {
        s.append("a");
        if ((int *)s.c_str() != p)
        {
            p = (int *)s.c_str();
            cout << s.size() << endl;
            cout << s.length() << endl;
        }
    }
}
//1 初始化
/*
vector<t> v; //采用模板实现类实现,默认构造函数
vector(v.begin(), v.end());//将v[begin(), end())区间中的元素拷贝给本身。
vector(n, elem);//构造函数将n个elem拷贝给本身。
vector(const vector &vec);//拷贝构造函数。
*/
 
void printv(vector<int>&v)
{
    for (auto it = v.begin(); it != v.end(); it++)
    {
        cout << *it << " ";
    }
    cout << endl;
}
 
void test01()
{
    vector<int>v1;
    int arr[] = { 1,2,3,4,5 };
    vector<int>v2(arr, arr + sizeof(arr) / sizeof(int));
    vector<int>v3(10, 10);
    vector<int>v4(v2);
    printv(v2);
    printv(v3);
    printv(v4);
}
//2 赋值
/*
assign(beg, end);//将[beg, end)区间中的数据拷贝赋值给本身。

上一页  [1] [2] [3] [4]  下一页

【声明】:黑吧安全网(http://www.myhack58.com)登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们,联系邮箱admin@myhack58.com,我们会在最短的时间内进行处理。
  • 最新更新
    • 相关阅读
      • 本类热门
        • 最近下载