读书人

为啥vector的begin()形参都是空,但是被

发布时间: 2012-08-02 11:35:25 作者: rapoo

为什么vector的begin()形参都是空,但是被重载了??
const_iterator begin() const;
iterator begin();
形参都是一样的 但却可以.

自己写个Vector
写成一样.却说不能重载??


[解决办法]
const 函数是可以区分重载的。


[解决办法]
写一小段测试一下



照c++primer说,begin()是否返回const值要看容器类型是否是const。
所以这里begin()的返回值应该是非const类型。
但const_iterator 可以接受这个值。尽管它不能被用来赋值。

以上是标准库。至于楼主新写的类具体如何就不清楚了。

读书人网 >C++

热点推荐