引用
const引用可引用右值,普通引用只能引用左值。
struct与class
class默认是private,struct默认是public。 构造函数没有返回值,但不是void,只是单纯用来初始化。
CC命令
CC -c 只编译不链接,生成.o文件 CC -o 指定输出文件名 一般都用g++或者clang++来替代CC。
pragma once
#pragma once
也可以用:
#ifndef HEADER_FILE_NAME
#define HEADER_FILE_NAME
...
#endif
替代
头文件名
cpp, cc, cxx本质没有区别,都是C++源文件。 hpp, h, hxx本质没有区别,都是C++头文件。
头文件内容
头文件不应该包含定义,但是模版,类,值在编译时已知的const对象(实际是因为每个cpp都能得到自己的const的空间,此处cpp primer讲的不好)和inline函数是例外,因为重复出现不会引起冲突(或者每一个cpp有自己的实例)。 NOTE:
void foo(); //是声明
void foo(){} //是定义
头文件里尽量用extern来避免重复定义。