foo(const T& t);
与
foo(T const& t);
据我所知,完全一样。区别纯粹是风格问题。据我所知,前者是一种更"老派"的方法,而后者是你可能在新书中更常见的方法。
表面上和/或深入细节有什么区别吗?
除了坚持代码库中的约定之外,还有什么理由选择一个而不是另一个吗?
它们完全相同。后者更一致,因为const
总是出现在它修改的东西之后。
如果const
出现在类型说明符序列的末尾之前,则会将其推送到序列的末尾。就这么简单。
当然,英语将形容词放在修改的项目之前。当然,C++不是英语(反正不是每个人都会说英语(。