猿问

请教一下,T fref(const T&, const T&);中的const T&,是什么意思?

T fref(const T&, const T&);中的const T&,是什么意思?是reference arguments的话&后面不是有一个value的吧?(象const T&x,const T&y);

template <typename T> T fobj(T, T); // arguments are copied
template <typename T>
T fref(const T&, const T&); // reference arguments
string s1("a value");
const string s2("another value");
fobj(s1, s2); // ok: calls f(string, string), const is ignored
fref(s1, s2); // ok: non const object s1 converted to const reference
int a[10], b[42];
fobj(a, b); // ok: calls f(int*, int*)
fref(a, b); // error: array types don't match; arguments aren't converted to pointers

慕容708150
浏览 281回答 1
1回答

江户川乱折腾

后面应该是有一个形参的,就像const T&x,const T&y这样。加了const只不过是说后面引用的这个参数在函数内部不能改变,是一个常值。
随时随地看视频慕课网APP
我要回答