C++ Primer Plus 第九章笔记

xiaoxiao2021-02-28  30

1.使用#ifndef…#endif不能防止编译器将文件包含两次,而只是让它忽略第一次包含之外的所有内容。

2.C++存储数据的方法:自动存储持续性(使用栈管理);静态存储持续性;线程存储持续性(C++11);动态存储持续性。

3.三种静态持续变量:在代码块外声明,创建链接性为外部的静态持续变量;在代码块外声明并使用关键字static,创建链接性为内部的静态持续变量;在代码块内声明并使用关键字static,创建没有链接性的静态持续变量。

4.两种变量声明:一是定义声明简称定义,给变量分配内存;另一种是引用声明简称声明,不给变量分配内存,而引用已有变量,使用关键字extern

注意:若使用extern且初始化,此时为定义。

5.存储持续性为静态、链接性为外部的变量为外部变量或全局变量。在每个使用外部变量的文件中,都必须声明它。默认情况下全局变量的链接性为外部,但const全局变量的链接性为内部,但可使用extern来覆盖默认的内部链接性。

6.作用域解析运算符(::)放在变量名前,表示使用变量的全局版本。

7.如果文件定义了一个静态外部变量(使用了关键字static),启明城与另一个文件中声明的常规外部变量相同,则该文件中,静态变量将隐藏常规外部变量。

8.cv-限定符:constvolatile(表明即使程序代码没有对内存单元进行修改,其值也可能发生变化)。

9.存储说明符:mutable(指出即使结构或类变量为const,其值也可修改);autoregisterstaticexternthread_local

10.默认函数链接性为外部,可使用关键字static设置为内部。

11.使用new运算符初始化时如果要为内置的标量类型分配存储空间并初始化,可在类型名后加上初始值;要初始化常规结构或数组,需要使用大括号的列表初始化。

12.包含头文件new,使用定位new运算符,使得可以指定要使用的位置,需在new后的大括号提供所需地址的参数。

13.在默认情况下,在名称空间中声明的名称链接性为外部。

14.不能在未命名名称空间所属文件之外的其他文件中,使用该名称空间的名称。

转载请注明原文地址: https://www.6miu.com/read-2300221.html

最新回复(0)