有的操作符重载时,形如(type) operator (操作符) {函数体}
有的则形如(type) & operator (操作符) {函数体}
相比之下,多了一个&,那么这个&是什么用法?
返回操作符本身的用&
otherwise donot use it.
就是引用,懂否?就是你返回的东东的别名。
如:
ostream & operator <<(ostream& os,classtype c&)
{
os<<c.m;
return os;
}
这里因为传进来的是引用,所以返回的时候也用引用;
其实这样可以防止编译器创建一个临时对象,也就减少了拷贝函数的调用。
表示返回一个引用
就是返回引用
比如
int a[] = { 1, 2} ;
int& f()
{
return a[1] ;
}
main()
{
f() = 3 ; // a[1] = 3 ;
}