C++ 是否可以使用类似列表的数组?
我想问一下,是否可以让列表像数组一样工作 我的意思是如何重载[]操作符使其像在数组中一样工作 我读过一些代码。例如,当我们需要的时候,它是有效的 -打印存储单元:coutList.end();iter++) { 如果(计数器==i)中断; 计数器++; } 返回*iter; } My_数组和运算符=(My_数组和k) { 如果(this==&k)返回*this; 归还*这个; } }; int main() { 我的母亲是abc; abc.add(5); int b=7;C++ 是否可以使用类似列表的数组?,c++,list,C++,List,我想问一下,是否可以让列表像数组一样工作 我的意思是如何重载[]操作符使其像在数组中一样工作 我读过一些代码。例如,当我们需要的时候,它是有效的 -打印存储单元:coutList.end();iter++) { 如果(计数器==i)中断; 计数器++; } 返回*iter; } My_数组和运算符=(My_数组和k) { 如果(this==&k)返回*this; 归还*这个; } }; int main() { 我的母亲是abc; abc.add(5); int b=7; cout您可以修改重载
cout您可以修改重载以返回对元素的引用
type& operator [](int i) // add & to make it return a reference
简单地改变
type operator [](int i)
到
它适用于访问和分配!即使有可能,您为什么要特别使用列表?为什么不使用向量?仅供参考,它对提升迭代器很有用。它是(显然,因为您的代码演示了它)可能。现在为什么没有对现有的标准列表执行此操作?因为它效率低下。如果您提供类似于随机访问的东西,看起来很简单,人们会使用它并认为它很简单。事实并非如此,他们也不应该这样做。因为我了解了模板和重载,这很好task@kaniaramiawest是的,这是一个很好的练习自有集装箱
type operator [](int i)
type& operator [](int i)