所以在另一个旧的庞大的C++代码库中,我经常看到这种风格:
// ...
void FooBar::Eggs(int spam);
void FooBar::Eggs(int spam) {
// implementation here
// ...
}
总的来说,我了解在C++中使用前向声明函数的意义,但是我找不到这种重复的合理性。是否有任何理由不消除它呢?
所以在另一个旧的庞大的C++代码库中,我经常看到这种风格:
// ...
void FooBar::Eggs(int spam);
void FooBar::Eggs(int spam) {
// implementation here
// ...
}
总的来说,我了解在C++中使用前向声明函数的意义,但是我找不到这种重复的合理性。是否有任何理由不消除它呢?
如果这是一个早期的C代码库,则此代码最初可能如下所示:
#ifdef PROTOTYPES
void FooBar_Eggs(int spam);
#endif
FooBar_Eggs(spam)
int spam;
{
...;
}
我认为这是不必要的。函数在定义时已经声明了。(据我所知)