lzth.net
当前位置:首页 >> 在C++stl的常用容器和类里,哪些支持下标[]运算,... >>

在C++stl的常用容器和类里,哪些支持下标[]运算,...

vector deque map unordered_map string

选项呢?vector和map之类的支持

是引用的意思,函数的返回值是左值就要用引用,所谓左值就是可被赋值

C\C++ 下标运算符“[]” 的具体作用是取地址运算符,简称取址符,它的语义是当前变量的首地址加取中括号里面的偏移量就可定位指定下标的值在内存保存的位置。

c++没有真正的多维数组,自然也没有所谓的多重下标的。多维数组实际是数组类型的数组,最多只能重载下标运算符,不能重载多重下标的。 如果要实现类似的效果的,可以让下标重载返回一个可以进行下标运算的类型。 比如class array2d{ public: 。...

重载运算[ ],在需要重载的类中声明 ClassName& operator [](int i)就可以了。 参数i是代表传入的[ ]括号中的值(索引)。因为我们使用[ ]的使用会用到类似 a[i] = value的表达式去赋值,所以返回类的引用可以支持赋值操作。 这里有我修改的一段...

简要回答一下,你这个至少用两个类才能实现,类A实现一个[]重载,返回类B,类B实现重载,返回你要的值。 楼上的思路是错误的,具体自己写吧。

一般具有下标操作的类是容器类,所以下标操作必须为类的成员函数,因而它不能为友员函数,如: class TVector { public: int& operator[](int i){ return v[i]; } const int& operator[](int i) const { return v[i]; } //下面利用友员函数的实...

#include #include //array是一个类,有getsize、operator[]等成员函数,注意是一个int型的数组! class array{ int*p; int size; public: array(int i=10){p=new int[i]; size=i;} ~array(){delete []p;} int getsize() const{return size;} //...

A 这个是重载的规则,有几个运算符为了不置于混淆所以不能重载,包括了域作用符:: B C++里好像没类型运算符这个提法吧,应该是类型转换运算符,这个是只能作为成员函数重载,自己才能转换自己,这个是很明显的。 C这个很简单,假如A是一个类,你...

网站首页 | 网站地图
All rights reserved Powered by www.lzth.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com