note
C和c++区别
预编译
预编译指令 : `#pragma` 可以控制特定的编译指令
Const本身不同
c99允许const作为数组长度,但是数组必须是变量数组;c++标准则没有
c中const变量是存储在某个地方,而编译器无法在编译的时候获取这个地方。所以无法作为数组长度
c++中const 是内部链接作用范围,c中则是外部链接范围
既前者的 const = 后者的 static const
Const和#define比较
前者可以指定类型、支持复合类型([])、拥有作用域。
inline和#define
`#define Cube(x) x*x*x `
尽量使用inline代替上面这种容易出现意外的define方式
模板和#define
#define的主要作用,除去const和inline,还可以被模板替代。
Last updated
Was this helpful?