在 C++ 中是否有等同于 index.js 的东西?
Is there any equivalent to index.js in C++?
在 JavaScript 中,我可以执行 import "/my-folder"
,它将导入 /my-folder/index.js"
。
C++ 中是否有一些等效的文件名? (这样 #include "my-folder"
将包括 my-folder/filename.fileext
)?
不,在标准 C++ 中不等同于 index.js
。然而,对于特定的编译器来说,实现类似的东西是完全合法的,尽管我不知道有任何编译器会这样做。引用自 19.2 [cpp.include] (N4659):
(1) A #include
directive shall identify a header or source file that can be processed by the implementation.
(3) A preprocessing directive of the form
# include " q-char-sequence " new-line
causes the replacement of that directive by the entire contents of the source file identified by the specified sequence between the "
delimiters. The named source file is searched for in an implementation-defined manner.
强调我的。
我不确定 index.js
通常在 JavaScript 图书馆中扮演什么角色,但是如果您正在尝试为您的图书馆实施可移植的 catch-all header (这样最终用户只需要包含一个 header 而不是很多),您只需编写自己的 header 即可达到该目的。 Headers 按照 my_folder/my_folder.h
或 my_folder/prelude.h
的方式命名将是常见的候选人。
在 JavaScript 中,我可以执行 import "/my-folder"
,它将导入 /my-folder/index.js"
。
C++ 中是否有一些等效的文件名? (这样 #include "my-folder"
将包括 my-folder/filename.fileext
)?
不,在标准 C++ 中不等同于 index.js
。然而,对于特定的编译器来说,实现类似的东西是完全合法的,尽管我不知道有任何编译器会这样做。引用自 19.2 [cpp.include] (N4659):
(1) A
#include
directive shall identify a header or source file that can be processed by the implementation.(3) A preprocessing directive of the form
# include " q-char-sequence " new-line
causes the replacement of that directive by the entire contents of the source file identified by the specified sequence between the
"
delimiters. The named source file is searched for in an implementation-defined manner.
强调我的。
我不确定 index.js
通常在 JavaScript 图书馆中扮演什么角色,但是如果您正在尝试为您的图书馆实施可移植的 catch-all header (这样最终用户只需要包含一个 header 而不是很多),您只需编写自己的 header 即可达到该目的。 Headers 按照 my_folder/my_folder.h
或 my_folder/prelude.h
的方式命名将是常见的候选人。