【发布时间】:2023-04-04 18:32:01
【问题描述】:
一个有点奇怪的问题,不过,如果我没记错的话,C++ 源代码不需要文件系统来存储它的文件。
拥有一个通过相机扫描手写文件的编译器将是一个符合要求的实现。虽然实际上没有那么大的意义。
但是,C++20 现在使用file_name 添加源位置。现在这是否意味着源代码应该始终存储在文件中?
【问题讨论】:
-
这一直在 C 中 -
__FILE__。source_location类只允许您在函数调用站点获取它。 -
你不能给你的手写文件命名吗?
-
我认为无论源代码是在文件中还是在其他东西中,这都是一个实现细节。如果可以通过标准输入向编译器提供源代码,则源代码可以在数据库中。
-
我的例子可能有点偏离,但是如果你使用一些即时编译器,比如 TCC,即使你编译了,你也可以随时提供一些人类可读的源名称以便错误报告直接从记忆中。那就是有一个“文件名”并不意味着被存储为一个文件。
-
肯定是
<iostream>之类的实现文件可能不是文件(如果您明白我的意思),而不是开发人员编写的文件?
标签: c++ language-lawyer c++20 std-source-location