05 2020 档案
摘要:#include<vector> // 包含头文件vector ... using namespace std; // vector包含在std中,因此必须包含std::vector vector <int> vi; // create a zero-size array of int int n;
阅读全文
摘要:#include < array > // 需要包含该头文件 ... using namespace std; // array位于std中 array < int, 5 > ai; // create array object of 5 ints array < double, 4 > ad =
阅读全文
摘要:优先级高的覆盖,同级发生冲突: using声明 = 自动变量 > using编译指令 = 全局
阅读全文
摘要:auto h(int x, float y) -> double; // C++11后置返回类型 ->double被称为后置返回类型 auto是占位符(C++11新增用法) 结合decltype使用: template<class T1, class T2> auto gt(T1 x, T2 y)
阅读全文
摘要:decltype (expression) var; // C++11 decltype是C++11新增的关键字 expression: 未用空号括起的标识符:var类型等于标识符类型 int a; decltype (a) var; // var type int 函数调用:var类型等于返回类型
阅读全文
摘要:namespace // unnamed namespace { int ice; int bandicoot; } 该名称空间中声明的名称的潜在作用域为:从名称空间声明点到该声明区域末尾。(就好像后面紧跟着using编译指令) 注意: 不能在未命名名称空间所属文件之外的其它文件中使用该名称空间中的
阅读全文
摘要:namespace my_very_favorite_things {...} namespace mvft = my_very_favorite_things; // mvft是my_very_favorite_things的别名 namespace MEF = myth::elements::f
阅读全文
摘要:namespace myth { using Jill::fetch; // using声明 using namespace elements; // using编译指令 using std::cout; // using声明 using std::cin; // using声明 ... } 名字空
阅读全文
摘要:声明时嵌套: namespace elements { namespace fire { int flame; ... } float water; } 使用内部名称空间: using namespace elements::fire; // 依此类推(第n层)
阅读全文
摘要:作用: 提供声明名称的区域 声明区域: 全局或位于另一名称空间中 空间中的名称链接性: 默认外部(常量除外)// 仅可在另一个文件的同一名称空间(必须写出所有的嵌套名称序列如果有的话)中使用extern声明这些名称(函数可不用extern),直接在另一个文件中常规用extern全局声明这些内部名称会
阅读全文
摘要:声明区域: 变量等可以声明的区域 例:全局变量的声明区域为其声明所在的文件 潜在作用域: 从声明点开始,到其声明域的结尾 作用域: 变量对程序而言可见的范围(即除去潜在作用域中被局部变量等隐藏的区域)
阅读全文
摘要:new 初始化:括号内加初始值 int *pi = new int (6) // C++98 struct where {double x; double y; double z}; where * one = new where {2.5, 5.3, 7.2}; // C++11 以下为定位 ne
阅读全文
摘要:启言:每个函数定义都有链接器可识别的独一无二的编译后的函数名称 种类:C 语言链接性、C++ 语言链接性,可能有如下的编译器翻译 spiff( int ) _spiff // C spiff( int ) _spiff_i // C++ (函数重载) spiff(double, double) _s
阅读全文
摘要:函数链接性:外部(默认)、内部(static) 使用外部函数:extern(可选) 注意:遵循单定义规则(内联函数除外) C++ 函数编译器查找规则:文件内(static), 所有程序文件(非static)-> 库(文件中没找到) 注意:与库函数同名时覆盖库函数
阅读全文
摘要:const 全局变量的链接性为内部 使用 extern 覆盖默认的内部链接性,转为外部链接性 extern const int states = 50; // definition with external linkage 函数或代码块内声明 const ,作用域为代码块
阅读全文
摘要:volatile: 功能:即使程序不修改内存单元,值也会发生变化(硬件或其他程序修改) 作用:改善编译器的优化能力(编译器默认将常用·假设值不变的变量加入寄存器,使用 volatile 后将不优化) mutable: 指出即使结构或类变量为 const ,其某个成员也可以被修改 struct dat
阅读全文
摘要:将 static 用于代码块中定义的名称 如果初始化了静态局部变量(包括零初始化),则程序只在启动时进行一次初始化,以后再调用函数(或进入该代码块)时,将不会再初始化
阅读全文
摘要:将 static 用于作用域为整个文件的名称 注意: 静态内部变量隐藏同名常规外部变量
阅读全文
摘要:作用域解析运算符:" :: " 放在变量名前表示使用全局版本
阅读全文
摘要:变量只能有一次定义:定义声明(定义)、引用声明(声明) 引用声明: 关键字 extern 不初始化(否则变为定义,分配内存) 注意: 一个文件定义后,其他文件中使用须用 extern
阅读全文
摘要:链接性:外部、内部、无 存储:固定的内存块(即整个程序执行期间存在) 创建: 外部链接性:代码块的外部声明 内部链接性:代码块的外部且用 static 声明 无链接性:代码块内且用 static 声明 初始化: 静态初始化: (默认)零初始化:未被初始化的静态变量的所有位都被设置为 0 常量表达式初
阅读全文
摘要:存储持续性:自动 作用域:局部(起点:声明位置) 链接性:无 分配内存:执行到代码块时 存储方式:栈(LIFO 后进先出) 注意: 执行内部代码块时,新定义隐藏以前的定义,旧定义暂时不可见,离开代码块后重见
阅读全文
摘要:作用域:名称在翻译单元(包括文件)的可见范围 局部: 只在定义它的代码块中可用,如自动变量 全局(文件作用域): 从定义位置到文件结尾都可用 注意: 静态变量的作用域取决于如何被定义 函数的作用域不能是局部
阅读全文
摘要:自动存储持续性: 在函数或代码块中声明的变量(包括函数参数)的存储持续性为自动。执行函数或代码块时自动创建,结束时释放。 静态存储持续性: 函数定义外定义的变量及使用 static 定义的变量存储持续性为静态。其在整个程序运行过程中存在。 动态存储持续性: new delete 声明及释放的内存,这
阅读全文
摘要:用法: 可以单独编译一个文件,使它与其它文件的编译版本链接。(使大程序的管理更便捷) 程序分段: 头文件:包含结构声明和使用这些结构的函数的原型 不要放函数定义和变量申明,避免两个文件都调用时此文件时编译器报错重复声明或定义。 可放类型: 函数原型 使用 #define 或 const 定义的符号常
阅读全文
浙公网安备 33010602011771号