【发布时间】:2022-01-10 13:55:34
【问题描述】:
在 JavaScript 中,我可以使用 import "/my-folder",它会导入 /my-folder/index.js"。
C ++中有一些等效的文件名吗? (这样#include "my-folder" 将包含my-folder/filename.fileext)?
【问题讨论】:
标签: c++ include c-preprocessor
在 JavaScript 中,我可以使用 import "/my-folder",它会导入 /my-folder/index.js"。
C ++中有一些等效的文件名吗? (这样#include "my-folder" 将包含my-folder/filename.fileext)?
【问题讨论】:
标签: c++ include c-preprocessor
不,标准 C++ 中不存在 index.js 等价物。然而,一个特定的编译器实现这样的东西是完全合法的,尽管我不知道有任何编译器这样做。引自 19.2 [cpp.include] (N4659):
(1)
#include指令应标识可由实现处理的头文件或源文件。(3) 形式的预处理指令
# include " q-char-sequence " new-line导致用
"分隔符之间的指定序列标识的源文件的全部内容替换该指令。 以实现定义的方式搜索命名的源文件。
强调我的。
我不确定index.js 通常在 JavaScript 库中扮演什么角色,但如果您尝试为您的库实现一个可移植的包罗万象的标头(这样最终用户只需要包含一个标头即可)许多),您只需要编写自己的标题即可达到此目的。以my_folder/my_folder.h 或my_folder/prelude.h 命名的标题将是常见的候选者。
【讨论】: