gpt4 book ai didi

c++ - 包含常量而不导入头文件

转载 作者:太空宇宙 更新时间:2023-11-04 15:32:39 24 4
gpt4 key购买 nike

我有一段代码设置为采用常量整数参数(问题的维度),但它可以运行许多不同的维度。

我不想每次运行时都必须更改硬编码维度,理想情况下我会定义几个虚拟 header 函数,它们基本上只是:

#ifndef dim_define_h 
#define dim_define_h

const int dimension = [DIMENSION SPECIFIC TO THIS HEADER FILE];

#endif

然后在编译时我可以使用该实例所需的任何头文件,例如:

g++ dimension_6.h code.cpp

这样的事情可能吗?在头文件中定义常量并在未显式导入该头文件的另一个文件中使用它?


编辑:

我的下一次尝试是只获取主要功能,将其与维度定义一起粘贴在不同的文件中,然后复制它。然后编译看起来像:

g++ dim_specific_main.cpp lots.cpp more.cpp helpers.cpp

而且我认为它正在通过 main 的编译实现,这取决于所有帮助文件中定义的帮助函数。不幸的是,当它试图编译辅助函数时,它需要在 main.h 中定义的常量,但它似乎忘记了它。

编辑 2:我现在意识到我正在尝试在需要在编译时知道它的地方使用这个变量,并且我认为链接发生在编译之后,所以我不相信这种特殊的方法是可能的.

最佳答案

const int dimension = THE_DIMENSION;

然后编译

g++ -DTHE_DIMENSION=6 code.cpp

不需要标题。

关于c++ - 包含常量而不导入头文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46207263/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com