C++ 几种重新声明的编译时效果?

C++ 几种重新声明的编译时效果?,c++,C++,也许这个问题听起来很傻,但在同一声明区域中,是否存在与多个同名声明(在本例中是非常无用的声明)相关联的编译时开销,如: (感谢那些指出我使用了错误代码的人,他们忘记了我在重新定义名称,所以这里有一个更新版本): 这将如何影响编译? 在任何一个翻译单元中,只允许对任何变量、函数、类类型、枚举类型、概念(因为C++20)或模板进行一个定义(其中一些可能有多个声明,但只允许一个定义) 这是自动生成代码的结果吗?哇,这破坏了实际问题。。无论如何,我现在已经更新了代码,以显示一些重新声明,而不是重新定义。

也许这个问题听起来很傻,但在同一声明区域中,是否存在与多个同名声明(在本例中是非常无用的声明)相关联的编译时开销,如: (感谢那些指出我使用了错误代码的人,他们忘记了我在重新定义名称,所以这里有一个更新版本):

这将如何影响编译?

在任何一个翻译单元中,只允许对任何变量、函数、类类型、枚举类型、概念(因为C++20)或模板进行一个定义(其中一些可能有多个声明,但只允许一个定义)


这是自动生成代码的结果吗?哇,这破坏了实际问题。。无论如何,我现在已经更新了代码,以显示一些重新声明,而不是重新定义。关于你更新的问题,你想输入多少个
class X
的正向声明?它不会编译得更快,对吗?但是,与从诸如“windows.h”和“code>”之类的东西中获得的30000行代码相比,任何差异都可能微不足道。@BoPersson好吧,从理论上讲,如果出于某种原因,同一个实体有30000行重新声明,这会影响编译时间吗?若然,原因为何?你也许能救我一天:(……)(……))是的,我知道。。。我不小心复制了错误的代码。。但现在已更新:=)
class X;
class X;
class X;
class X;
class X;
//And much more of those
int main()
{
}