加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c – 下标[]运算符的默认值?

发布时间:2020-12-16 09:49:45 所属栏目:百科 来源:网络整理
导读:我想为我的数组类提供 PHP样式的push_back功能: arrayTint arr;arr[] = 10; // == std::vector::push_back() 和 arrayT::operator[]( size_t pos = (size_t)-1) 这可能吗 ? 如果是,是否也可以与其他一些操作符合作? 解决方法 An operator function cannot
我想为我的数组类提供 PHP样式的push_back功能:

arrayT<int> arr;
arr[] = 10; // == std::vector::push_back()

arrayT::operator[]( size_t pos = (size_t)-1)

这可能吗 ?
如果是,是否也可以与其他一些操作符合作?

解决方法

An operator function cannot have default arguments (8.3.6),except where explicitly stated below.

operator[] shall be a non-static member function with exactly one parameter.

允许具有默认参数的唯一操作符函数是operator().而且你不能声明operator []不带参数.

所以不,你要求的是不可能的.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读