如何将 cpp 包含在另一个 cpp 中,例如复制粘贴而不是声明



我最近采用了一种风格,我试图避免不必要的类/作用域,因此代码不能按类或函数拆分为文件,因为几乎所有事情都发生在main中。当然,对于很多代码行,这将很难阅读,所以我必须以某种方式拆分它。我想做这样的事情:

#include <iostream>
int main()
{
    #include "test.cpp"
    return 0;
}
// test.cpp
std::cout << "Test";

有没有办法告诉编译器完全像那样复制它?如果是,我也可以使用智能感知(VS 2017(吗?

无论设计是好主意还是坏主意,您都可以检查"最终"输出文件的外观。如果您使用的是 GCC,您可以使用-E标志,例如

g++ -E main.cpp > out

此命令执行预处理器并将输出写入out文件。在此示例中,我的out文件如下所示

// bunch of STL codes due to <iostream>
// ...
# 2 "main.cpp"
int main()
{
# 1 "test.cpp" 1
std::cout << "Test";
# 5 "main.cpp" 2
  return 0;
}

最新更新