2017-02-25 52 views
-1

std::vector<T> const &const std::vector<T> &有什么区别?Const Reference的不同风味?

我已经习惯了const T &,但是这个“T const &”与我不同。

并原谅我的无知。

+0

没有区别,我喜欢用第一形式,有些人喜欢第二:

您可以通过尝试编译下面的代码,看看编译器如何抱怨的重新定义验证这一点。这也是正确的'const std :: vector const&'和上面一样。 –

+0

@RichardCritten:不,这是一个语法错误:'duplicate'const'' –

+0

@Richard Critten:在C++中不允许直接应用两次相同的限定符(如您的示例中所示)。 – AnT

回答

0

他们是完全平等的。

#include <vector> 

void f(std::vector<int> const &) {} 
void f(const std::vector<int> &) {} // error: redefinition