读书人

C++primer书上遇到的两个有关问题

发布时间: 2012-03-20 14:01:11 作者: rapoo

C++primer书上遇到的两个问题
1.
下列声明和定义哪些应该放在头文件中?哪些应该放在源文件中?请解释原因。
(a)int var;
(b)const double pi=3.1415;
(c)extern int total=255;
(d)const double sq2=squt(2.0);
2.
char* p= "hello ";
cout < <*(p+2) < <endl;//输出‘l’
*(p+2)= 'f ';
cout < <*(p+2) < <endl;//f输出‘f’
cout < <p < <endl;//hello
谁解释下它的输出?


[解决办法]
那是对整个头文件加的啊
防止头文件重复include
:)

和定义变量还不是一回事

即便对整个头文件都加上#ifndef xxx_H_
你有两个.cpp 文件, 都包含了同一个.h文件,这个文件中有 int i=1; 这样的语句
然后你两个.cpp编译生成的.obj文件就会为同一变量分配不同的内存, 会出错的

读书人网 >C++

热点推荐