开发平台(Platform): (Ex: Win10, Linux, ...)
Win7
编译器(Ex: GCC, clang, VC++...)+目标环境(跟开发平台不同的话需列出)
C++
问题(Question):
在看蚂蚁书的operator overloading的时候, 对这个章节的case study: class Array
有点疑惑:
1.
const Array &operator=( const Array & );
这里return回来设为constant有什么意义吗? 避免我们做出(a=b)=c 的动作?
2.
const Array &operator=( const Array & );
想make sure一下, 这里使用传入参数为reference的原因是 若使用pass by value,
会copy一份传进来, 就会呼叫到传入参数的copy constructor. 所以才避免使用pass
by value吗?
3.
int &operator[]( int );
int operator[]( int ) const;
在做[]的operator overloading时, 两个传入参数一样, 只是return回来的一个是value,
一个则是reference, 这样我在做call function时, 怎么判断是进入哪个function?
抱歉, 小的还对C++刚入门, 对这些基础还不熟, 但却又希望能够把他们确实搞懂
先谢谢各位大大解惑了!!!