C++ 如何在另一个cpp(如复制粘贴)中包含cpp,而不是声明?

C++ 如何在另一个cpp(如复制粘贴)中包含cpp,而不是声明?,c++,file,include,paradigms,C++,File,Include,Paradigms,我最近采用了一种风格,试图避免不必要的类/作用域,因此代码不能按类或函数在文件中拆分,因为几乎所有事情都发生在main中。当然,对于很多行代码来说,这将非常难阅读,所以我必须以某种方式拆分它。我想这样做: #include <iostream> int main() { #include "test.cpp" return 0; } // test.cpp std::cout << "Test"; #包括 int main() { #包括“test.c

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

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

// test.cpp
std::cout << "Test";
#包括
int main()
{
#包括“test.cpp”
返回0;
}
//test.cpp

std::cout无论设计是好主意还是坏主意,都可以检查“最终”输出文件的外观。如果您使用的是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;
}

//由于
// ...
#2“main.cpp”
int main()
{
#1“测试cpp”1

std::你为什么不在main方法之前简单地声明和定义函数呢?那么,你认为你已经找到了一种比过去40年来所有人都做得更好的风格吗?我认为你没有。@Grybouilli,这意味着几乎所有事情都要使用全局变量……老实说,你尝试采用的风格感觉非常好错…函数、类和项目被分割到不同的文件中基本上就是你的问题的答案。因为我用这种方式做了很多工作,所以我对测试其他方法也很感兴趣,不管它们是否“可能”不起作用。