当前位置:  开发笔记 > 编程语言 > 正文

(*此)[I]?

如何解决《(*此)[I]?》经验,为你挑选了4个好方法。

我在班上重载了[]运算符.有没有更好的方法从我的课堂内调用此功能(*this)[i]



1> Fred Larson..:

好吧,你可以使用"operator [](i)".



2> bayda..:

在(size_t i)添加函数并使用此函数

编辑
如果你主动使用stl避免语义不一致:in std::vector operator[]不检查索引是否有效,但是在(..)检查并且可能抛出std::out_of_range异常.我认为在项目中有更多类似的行为会从你的班级中得到预期.
也许这个名字不是这个功能最好的名字.



3> 小智..:

不好,但明确:

this->operator[](i)

如果您发现需要执行此操作,请创建一个At()函数,该函数与operator []完全相同.然后你可以说:

this->At(i)


您不需要在方法调用前放置"this->".

4> Michael Burr..:

这可能是一个合理的妥协:

T& me = *this;

// ...

me[i];

推荐阅读
Gbom2402851125
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有