【发布时间】:2018-09-12 07:15:37
【问题描述】:
我有一些 const 变量,我希望它们的值在多个源文件之间共享。我还希望将变量的范围限制为命名空间。我不确定执行此操作的最佳/正确方法?
我可以使用 #define 但希望类型安全。
到目前为止,我有以下工作:
文件0.h
#pragma once
namespace Namespace1
{
extern const int variable1;
extern const int variable2;
}
文件0.cpp
const int Namespace1::variable1 = 10;
const int Namespace1::variable2 = 10;
Source1.cpp
#include "File0.h"
int result1 = Namespace1::variable1 + Namespace1::variable2;
Source2.cpp
#include "File0.h"
const int result2 = Namespace1::variable1 + Namespace1::variable2;
使用 extern 如何知道值何时被初始化?
【问题讨论】: