1,头文件应该放置什么信息?
可以有类,结构体定义和其他声明,不可有变量定义
2,#ifndef和#pragma解决的是同一个cpp文件对某个.h文件的重复包含,从而避免在一个cpp文件中重复定义。
如果.h文件中有变量定义,不同cpp包含的话,还是会造成重复定义,所以强烈不建议.h文件中有变量定义。
3,如果是不同cpp文件的重复定义,这时也可以用static和extern解决。
注:头文件中可以包含静态成员的定义以及其他情况,此处暂不讨论。
1,头文件应该放置什么信息?
可以有类,结构体定义和其他声明,不可有变量定义
2,#ifndef和#pragma解决的是同一个cpp文件对某个.h文件的重复包含,从而避免在一个cpp文件中重复定义。
如果.h文件中有变量定义,不同cpp包含的话,还是会造成重复定义,所以强烈不建议.h文件中有变量定义。
3,如果是不同cpp文件的重复定义,这时也可以用static和extern解决。
注:头文件中可以包含静态成员的定义以及其他情况,此处暂不讨论。