疑问:
1. 只有整型的常亮表达式才可以定义const变量在头文件中吗?
//head.h
const double const_val = 9.5;
//main.cpp
#include <iostream>
using namespace std;
#include "head.h"
int main()
{
cout << const_val << endl;
return 0;
}
编译通过并成功执行输出9.5。
不是很理解这边的说法。
2. A)将const变量定义在头文件中,源文件包含该头文件对const变量进行访问;
B)将const变量定义在源文件中,其他源文件利用extern声明对const变量进行访问;
A)和B)有何区别了?
书上说用常量表达式初始化的const变量可以放在头文件中定义,即用A),其他的情况则选择B),但上面发现double初始化的const变量也可以用A),求解释?
另外A)实际上是不为const变量分配存储空间的,而B)则为const变量分配空间,是这样吗?
谢谢!