相关疑难解决方法(0)

为什么函数在使用之前需要声明?

在阅读这个问题的一些答案时,我开始想知道为什么编译器在第一次遇到函数时确实需要知道它.在解析收集在其中声明的所有符号的编译单元时添加额外的通道是不是很简单,这样它们的声明和使用顺序就不再重要了?

有人可能会争辩说,在使用它们之前声明函数肯定是好的风格,但我想知道,为什么在C++中这是强制性的还有其他原因?

编辑 - 举例说明:假设您必须在头文件中内联定义的函数.这两个函数相互调用(可能是递归树遍历,其中树的奇数层和偶数层的处理方式不同).解决这个问题的唯一方法是在另一个函数之前声明其中一个函数.

一个更常见的例子(虽然有类,而不是函数)是带有private构造函数和工厂的类的情况.工厂需要知道类以便创建它的实例,并且类需要知道工厂的friend声明.

如果要求来自以前的日子,为什么它在某些时候没有被删除?它不会破坏现有的代码,不是吗?

c++ function-declaration

18
推荐指数
3
解决办法
8702
查看次数

标签 统计

c++ ×1

function-declaration ×1