【发布时间】:2017-06-17 10:18:56
【问题描述】:
Forward declaration 让我们将定义实际类型推迟到实现文件。对于指向前向声明类型的指针或引用,这是允许的。
按值返回不需要类型定义。前向声明就足够了
有人可以通过标准的实际引用来确认或否认这一点吗?我的印象是这是不合法的。
【问题讨论】:
-
你能清楚你认为什么是不合法的吗?比如,你认为一个实际的代码示例是非法的?
-
这适用于函数声明,而不是定义。不,这不是标准的引用。
-
也许我应该说“按值返回不需要类型定义当你声明函数时。前向声明就足够了。”定义函数和调用函数时确实需要定义。
-
顺便说一下,这也适用于参数。您可以在任何编译器中尝试它。我只是很难在标准中找到确切的确认。
-
“前向声明让我们将实际类型的声明推迟到实现文件” 不,它没有。线索就在名字里;您正在那里声明您的类型。
标签: c++ return-value language-lawyer return-type forward-declaration