簡體   English   中英

包含常量而不導入頭文件

[英]Including constants without importing header file

我設置了一段代碼來接受一個常量整數參數(問題的維度),但是它可以在許多不同的維度上運行。

我不想每次運行時都不必更改硬編碼的尺寸,理想情況下,我將定義幾個虛擬的標頭函數,它們基本上只是:

#ifndef dim_define_h 
#define dim_define_h 

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

#endif

然后在編譯時,我可以使用該實例所需的頭文件,例如:

g++ dimension_6.h code.cpp

這樣的事情可能嗎? 在頭文件中定義一個常量,並在另一個未顯式導入該頭文件的文件中使用它?


編輯:

我的下一個嘗試是僅使用main函數,將其與尺寸定義一起粘貼到另一個文件中,並對其進行復制。 然后編譯如下:

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

而且我認為這是通過現在main的編譯實現的,它依賴於所有helper文件中定義的helper函數。 不幸的是,當它嘗試編譯輔助函數時,它需要在main.h中定義的常量,並且似乎已經忘記了它。

編輯2:我現在意識到我正在嘗試在編譯時需要知道它的地方使用此變量,並且我認為鏈接是在編譯后發生的,因此我認為這種特殊方法是不可能的。

const int dimension = THE_DIMENSION;

然后用

g++ -DTHE_DIMENSION=6 code.cpp

不需要標題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM