• 《C++ Primer Plus 6th》读书笔记


    1. 单独编译

    1.1 头文件中常包含的内容:

    • 函数原型
    • 使用#define或const定义的符号常量
    • 结构声明
    • 类声明
    • 模板声明
    • 内联声明

    1.2 只需将源代码文件加入到项目中,而不用加入头文件。这是因为用#include管理头文件。

    1.3 避免多次包含同一个头文件

    1 #ifndef COORDIN_H_
    2 #define COORDIN_H_
    3 // place include file contents here
    4 #endif

    2. 存储持续性、作用域和链接性

    1. 存储方案:

    • 自动存储持续性 - 在函数定义中声明的变量,2种
    • 静态存储持续性 - 在函数外定义的变量和使用关键字static定义的变量,3种
    • 线程存储持续性(C++11) - thread_local声明
    • 动态存储持续性 - 用new运算符分配的内存一直存在,直到使用delete运算符将其释放或程序结束

    2. 链接性为外部的名称可在文件间共享,链接性为内部的名称只能由一个文件中的函数共享。

    3. 使用关键字register建议编译器使用CPU寄存器来存储自动变量,旨在提高访问变量的速度。(与auto以前的用法相同,C++11废弃)。

    4. 静态存储持续性变量提供了3种特性:外部链接性(代码块外部声明)、内部链接性(代码块外部static声明)和无连接性(代码块内部static声明)。默认情况下,没有显式初始化的静态变量都被编译器设置为0。

    5. C++11 新增关键字constexpr,增加创建常量表达式的方式。

    6. 引用声明使用关键字extern,且不进行初始化。如果要在多个文件中使用外部变量,只需要再一个文件中包含该变量的定义(单定义规则),但在使用该变量的其他所有文件中,都必须使用关键字extern声明它。

    7. 作用域解析运算符(::)表示使用变量的全局版本。

  • 相关阅读:
    POJ 1775 (ZOJ 2358) Sum of Factorials
    POJ 1844 Sum
    HDOJ 1081(ZOJ 1074) To The Max(动态规划)
    HDOJ 2012 素数判定
    HDOJ 2011 多项式求和
    HDOJ 2010 水仙花数
    马云最新发言:让员工、客户、合作伙伴比自己更强
    乐视手机1S正式发售,乐视商城官网抽风遭网友吐槽
    C++引用(Reference)
    实验三 二叉树的基本操作(建立)及遍历
  • 原文地址:https://www.cnblogs.com/Azurewing/p/4314889.html
Copyright © 2020-2023  润新知