C++ Primer Plus
C++ Primer Plus (6ed)
第 9 章: 内存模型与命名空间 (Memory Models and Namespaces)
9.1 分块编译 (Separate Compilation)
C++ 代码文件的推荐组织形式
头文件(.h):声明
源文件(.cpp):定义
源文件(.cpp):调用代码
其中头文件里应该存放:
函数原型
使用
#define
或const
定义的常量结构体声明、类声明
模板
内联函数
第 18 章: C++ 11 新特性 (C++ 11 New Features)
本章笔记将对原书进行扩充,主要体现在:
补充参考资料:侯捷老师的相关网课等;
逐步增加书中没有覆盖到的新特性,并逐步增加 C++14/17/20 的新特性;
New DataTypes
C++ 11新增加了 long long
,unsigned long long
类型,确保其至少支持 64 位,char16_t
与 char32_t
。
Uniform Initialization
使用大括号的形式(被称为 list-initialization)进行初始化,并且等号可以省略。这一初始化方式对内置类型与用户自定义类型均适用,例如以下初始化方式都是合法的:
int x = {5};
double y {2.75};
short quar[5] {4, 5, 3, 76, 1};
int *ar = new int [4] {2, 4, 6, 7}; // C++11
class Stump {
private:
int roots;
double weight;
public:
Stump(int r, double w) : roots(r), weight(w) {}
};
Stump s1(3, 15.6); // old style
Stump s2{5, 43.4}; // C++11
Stump s3 = {4, 32.1}; // C++11
Last updated
Was this helpful?