我有包括限制范围
main.cpp
ext1.cpp
ext2.cpp
ext3.cpp
vars.h
,顾名思义多档节目,main.cpp中的主文件,extX.cpp包含各种功能和vars.h一些全局常量。
但是,在main.cpp中也有(几个!)变量声明,但它们只能在main.cpp的范围内 - 这就是为什么我没有将它们放在vars.h中。
我想减少main.cpp中的代码量(为了清晰度问题)。我正在寻找一种方法来在某种类型的头文件中声明这些变量,但是这种方式仅对main.cpp可见。
是否正确理解,如果我将它们全部放置在例如vars_main.h(与没有外部关键字),只包含“vars_main.h”,那么我已经实现了我的目标?
它被认为是“正确的”C++风格这样做?
使用**'static'替代**,他**而不是** _would_ **将它们放入** namespace {/ * definitions * /} **之类的匿名名称空间**中。 – ipc
@ipc:如果你介意我格式化我的答案,并认为它没有粗体和斜体的可读性,请随意编辑它。除了提高可读性以外,我不会这样做。 –