以下这些功能之间有什么区别(查看关键字const
)?
void f1(const Class &c)
和
void f2(Class const &c)
答案 0 :(得分:5)
没有区别。这两个版本是可以互换的。
答案 1 :(得分:5)
const Class&
和Class const&
之间没有区别;同样,const Class*
和Class const*
之间没有区别。两者都表示指向常量Class
实例的引用/指针。
然而,Class* const
是一个完全不同的野兽。这是一个指向非const Class
实例的const指针。
答案 2 :(得分:4)
(迂腐的答案):
不同之处在于名称。
名称f1
将与f2
不同 - 即使在修改后
签名完全相同,否则没有区别
答案 3 :(得分:2)
他们根本没有什么不同。请查看this page中的第18.6和18.8点以获取更多信息。