zoukankan      html  css  js  c++  java
  • (18)C++ string和标准模板库

     一、stringl类

    1.string构造函数

        string a1("abc");//初始化字符串
        cout<<a1<<endl;//abc
    
        string a2(6, '#');//n个字符
        cout << a2 << endl;//######
    
        string a3(a1);//复制
        cout << a3 << endl;//abc
    
        char c[] = "hello";
        string a4(c,3);//从起始截取前n个字符
        cout << a4 << endl;//hel
    
        string a5(c+1,c+3);//截取一段字符串
        cout << a5 << endl;//el
    
        string a6(c, 1,3);//从n1开始截取n2个
        cout << a6 << endl;//ell

     2.字符串输入

    #include<iostream>
    #include<string>
    using namespace std;
    
    int main() {
    
        //string str1;
        //cin >> str1;//输入字符串方法1
        //cout << str1 << endl;
    
        string str2;
        getline(cin, str2);//输入字符串方法2
        cout << str2 << endl;
    }

    3.使用字符串

    (1)比较字符串 比较ASCII码

        int a = 0;
        if ('abc' > 'daaa') {
             a = 1;
        }
        else {
            a = -1;
        }
        cout << a << endl;

    (2)字符串长度

        string a = "abc";
        cout << a.length() << endl;
        cout << a.size() << endl;

    (3)查找

    查找是否包含此字符串,有则返回首字符索引,没有返回 npos

        string a = "aabc";
        cout << a.find("bc111")<<endl;

    npos表示字符串可存储的最大字符数

    二、智能指针模板类

     智能指针定义后,离开代码块指针将过期

        auto_ptr<string> str(new string);//C++98方式,过时
        unique_ptr<string> str(new string);//C++11 一般使用这个
        shared_ptr<string> str(new string);//C++11 如果多个指针指向同一个对象,用这个

    三、标准模板库

  • 相关阅读:
    QuickSort
    Java细节
    Java
    Prime
    apache和tomcat有什么不同,为什么要整合apache 和tomcat?
    java线程面试题及答案
    Struts2中的ModelDriven机制及其运用
    Java中instanceof关键字的用法总结
    spring特点与好处
    spring与struts有什么区别?
  • 原文地址:https://www.cnblogs.com/buchizaodian/p/11608422.html
Copyright © 2011-2022 走看看