• C++ PRIMER 学习笔记 第三章


    第三章 标准库类型 

      标准库类型 string、vector 分别定义了大小可变的 字符串 和 集合,迭代器 作为配套类型,标准库类型 bitset,提供了一种抽象方法来操作位的集合;标准库定义了许多高级抽象数据类型,我们在使用时不必关心它们如何表示,只需知道这些 抽象数据类型支持哪些操作 就可以了

      3.1 命名空间的using 声明

      using 声明可以在不需要加前缀namspace_name::的情况下访问命名空间中的名字,如,using std::string,之后就不需要加std::前缀直接使用string,要用到的每一个名字都要提供一个using 声明

      3.2标准库string类型

      string类型支持长度可变的字符串,C++标准库将负责管理与存储字符相关的内存,以及提供各种有用的操作,字符串字面值与标准库string类型不是同一种类型

    string对象可以用string对象、字符串字面值、单个字符、const char* 赋值

      string 类型的输入操作符 >>,读取并忽略开头所有的空白字符,读取字符直至再次遇到空白字符,读取终止,该操作符返回所读的istream对象,在<string>中的getline函数,istream& getline (istream&& is, string& str); 读取的内容不包括换行符,可以读取空格,遇到换行符停止读入并返回,getline函数返回时丢弃换行符,换行符将不会存储在string对象中

      任何存储string的size操作结果的变量必须为string::size_type类型,特别重要的是,不要把size的返回值赋给一个int变量,string::size_type与unsigned型具有相同的含义

      3.3标准库 vector类型

      vector操作:

      3.4迭代器

      迭代器是一种 检查容器内元素并遍历元素的 数据类型每种标准库容器类型都定义了一个名为iterator的成员只有少数的容器支持下标操作,现代C++程序更倾向于使用迭代器而不是下标操作

      每种容器都定义了一对命名为begin和end的函数,用于返回迭代器,end操作返回的迭代器指向vector的末端元素的下一个,如果vector为空,begin返回的迭代器与end返回的迭代器相同,如果容器不为空,begin返回迭代器指向第一个元素

       vector 遍历(下标、迭代器):

    #include <iostream>
    #include <vector>
    using namespace std;
    
    int main()
    {
        vector<int> v;
        v.push_back(99);
        v.push_back(100);
        v.push_back(88);
        v[1] = 111;
        
        //使用下标遍历
        for(vector<int>::size_type ix=0; ix < v.size(); ix++)//size_type 无符号整型的别称
        {
            cout << v[ix] << ",";
        }
        cout << endl;
        
        //使用迭代器遍历
        for( vector<int>::iterator ite = v.begin(); ite !=v.end();ite++)
        {
            cout << *ite << ",";
        }    
        
        return 0;
    }
    View Code

      3.5标准库 bitset类型

  • 相关阅读:
    structInMemory
    合并字符串
    eggs
    1005. Spell It Right (20) -PAT
    60 人工智能
    50 计算机网络
    20数据结构
    40操作系统
    10 C/C++/python
    30汇编
  • 原文地址:https://www.cnblogs.com/GoldenEllipsis/p/16571424.html
Copyright © 2020-2023  润新知