我最近采用了一种样式,在这种样式中,我尽量避免使用不必要的类/作用域,因此,由于几乎所有事情都发生在main中,因此无法通过类或函数在文件中拆分代码。当然,对于很多行代码而言,这将很难阅读,因此我必须以某种方式进行拆分。我想做这样的事情:

#include <iostream>
int main()
{
    #include "test.cpp"
    return 0;
}

// test.cpp
std::cout << "Test";


有没有办法告诉编译器完全那样复制它?如果是的话,我还可以使用IntelliSense(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;
}

关于c++ - 如何在另一个cpp中(如复制粘贴)而不是在声明方式中包含一个cpp?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55560212/

10-13 07:05