zoukankan      html  css  js  c++  java
  • 《C++ Primer》读书记录一

    2015年5月11日 星期一 19:59

    第1章 快速入门

    第一部分 基本语言 第2章~第8章

    第2章 变量和基本类型

    • 基本内置类型,整型(整数,字符和布尔值),浮点型(float,double,long double),有符号/无符号类型
    • 字面值常量
    • 变量,左值和右值
      • 变量名,定义对象,变量初始化规则
      • 声明和定义
      • 名字的作用域
    • const限定符,只读类型,而不是英文单词常量的意思。
    • 引用,引用和指针的区别?
    • typedef
    • 枚举
    • 类类型

    第3章 标准库类型

    • 命名空间的using声明
    • 标准库string类型
      • string对象的定义和初始化
      • string对象的读写
      • string对象的操作
      • string对象中字符的处理
    • 标准库vector类型,定义和初始化,vector对象的操作
    • 迭代器简介
      • vector <int>::iterator iter;
      • vector <int> ivec;
    • 标准库bitset类型,bitset对象的定义和初始化,bitset<32> bitvec;bitset对象上的操作

    第4章 数组和指针  

    • 数组,数组的定义和初始化,数组操作
    • 指针的引入
      • 指针的定义和初始化
      • 指针的操作
      • 指针和引用的区别
      • 使用指针访问数组元素
      • 指针和const限定符
    • C风格字符串,以''空字符结束的字符数组。
      • 创建动态数组,C中malloc,free,C++增加了new和delete。前者为函数,后者是操作符 。而且new不仅分配内存,而且真正的建立一个对象,而malloc只分配内存。
    • 多维数组,本质是数组的数组

    第5章 表达式

    • 算术表达式,优先级由大到小:+/-(正负符号)>{*,/,%}>+/-(加减符号)
    • 关系操作符和逻辑操作符,!>{<,<=,>,<=}>{==,!=}>&&>||
    • 位操作符,~,<<,>>,&,^,|
    • 赋值操作符,右结合性,低优先级
    • 自增和自减操作符
    • 箭头操作符,(*p).foo等价于p->foo
    • 条件操作符 三元操作符,cond?expr1:expr2;
    • sizeof操作符,返回值为size_t,无符号数
    • 逗号操作符,从左到右计算,优先级最低
    • 复合表达式的求值,优先级+结合性+求值顺序
    • new和delete表达式,除了动态创建和释放数组,还可用于动态创建和释放单个对象
    • 类型转换
      • 何时发生隐式类型转换,混合类型表达式中,作为条件的表达式被转换为bool,
      • 算术转换,整型提升,有符号与无符号的转换
      • 其他隐式转换,指针转化
      • 显式转换cast,因为需要覆盖通常的转换标准,所以需要显式使用强制类型转换。cast-name<type>(expression)
        • dynamic_cast:支持运行时识别指针和引用所指的对象
        • const_cast:转换掉表达式的const性质
        • static_cast:编译器隐式执行的任何类型转换都可以由static_cast显式完成
        • reinterpret_cast:通常为操作数的位模式提供较低层次的重新解释  

    第6章 语句

    • 简单语句,表达式语句,空语句
    • 声明语句
    • 复合语句(块),用一对花括号括起来的语句序列,可为空
    • 语句作用域                                                                                                  
    • if语句,悬挂else问题
    • switch语句,switch语句中的控制流,break语句,default标号
    • while语句
    • for循环语句
    • do while语句,以分号结束,和while语句不通                 

             

    • break语句,结束最近的while,for,switch,将程序传下面
    • continue语句,导致最近循环语句的迭代提前结束
    • goto语句,函数内部无条件跳转
    • try块和异常处理,throw表达式,try块,catch子句
      try
      {
          //正常逻辑的代码,比如两个数相加
          //如果相加失败,抛出runtime_error异常
      }
      catch (runtime_error err)
      {
          //异常处理代码
      }
      catch (CFileException* e)
      {
          //异常处理代码
      }
      catch (CException* e)
      {
          //异常处理代码
      }
    • 使用预处理器进行调试

    第7章 函数

    • 函数的定义,函数返回类型,函数形参表
    • 参数传递
      • 非引用形参:通过复制对应的实参实现初始化,指针形参,const形参
      • 引用形参:不复制参数,类似于传址
        void swap(int &v1,int &v2)
        {
            int temp=v2;
            v2=v1;
            v1=temp;
        }
      • vector和其他容器类型的形参
      • 数组形参
    • return语句
      • return;返回类型为void的函数
      • return expression;
    • 函数声明
      • 返回类型+函数名+形参列表----->函数原型
      • 默认实参可以再函数声明可以再函数定义中指定,但在一个文件中,只能为一个形参指定默认实参一次
    • 局部对象
      • 自动对象:只有当定义它的函数被调用时才存在
      • 静态局部对象:位于函数作用域内,生命期跨越这个函数,被多次调用,static
    • 内联函数
      • 避免函数调用的开销,inline
      • 内联函数应该在头文件中定义,以便编译器能够在调用点内联展开函数的代码,仅有函数原型是不够的
    • 类的成员函数
      • 定义成员函数的函数体:可以在类内定义,也可以在类外定义
      • 累的构造函数,constructor
    • 重载函数
      • 出现在相同作用域的两个函数,具有相同的名字和不同的形参,成为重载函数
    • 指向函数的指针 
      bool ((*pf)(const string&,const string &);
      //用tepydef简化函数指针的定义
      typedef bool (*cmpFcn)(const string&, const string &);

     

    2015年5月13日  星期三 10:52

    第8章 标准IO库

    • 面向对象的标准库
      • iostream 定义读写控制窗口的类型
      • fstream 定义读写已命名的文件的类型
      • sstream 定义用于读写存储在内存中的string对象
    • 条件状态
    • 输出缓冲区的管理,缓冲区内容被刷新,写入真实输出设备或文件的5种情况:
      • 程序正常结束,作为main返回工作的一部分,将清空所有缓冲区
      • 在一些不确定的情况下,缓冲区已经满了,在这种情况下,缓冲区将会在写下一个值之前刷新
      • 用操作符显示地刷新缓冲区,例如行结束符endl
      • 在每次输出操作执行完后,用unitbuf操纵符设置流的内部状态,从而情况缓冲区
      • 将输出流与输入流关联(tie)起来,在这种情况下,在读输入流时将刷新其关联的输出缓冲区
    • 文件的输入和输出,ifstream,ofstream,fstream
    • 字符串流,istringstream,ostringstream,stringstream
  • 相关阅读:
    2017ccpc全国邀请赛(湖南湘潭) E. Partial Sum
    Codeforces Round #412 C. Success Rate (rated, Div. 2, base on VK Cup 2017 Round 3)
    2017 中国大学生程序设计竞赛 女生专场 Building Shops (hdu6024)
    51nod 1084 矩阵取数问题 V2
    Power收集
    红色的幻想乡
    Koishi Loves Segments
    Wood Processing
    整数对
    Room and Moor
  • 原文地址:https://www.cnblogs.com/sherPur/p/4557494.html
Copyright © 2011-2022 走看看