const对象默认是static的,而不是extern的

const 和 static 变量,可以放在头文件中

const对象默认是static的,而不是extern的,所以即使放在头文件中声明和定义。多个cpp引用同一个头文件,互相也没有感知,所以不会导致重复定义。

类(class)的定义,可以放在头文件中

用类创建对象的时候,编译器要知道对象如何布局才能分配内存,因此类的定义需要在头文件中。一般情况下,我们把类内成员函数的定义放在cpp文件中,但是如果直接在class中完成函数声明+定义的话,这种函数会被编译器当作inline的,因此满足上面inline函数可以放在头文件的规则。但是如果声明和定义分开实现,但是都放在头文件中,那就会报重复定义了!!

 

https://zybuluo.com/uuprince/note/81709

posted @ 2016-05-17 23:08  findumars  Views(338)  Comments(0Edit  收藏  举报