gpt4 book ai didi

c++ - 为泛型数组重载 [] 和 = 运算符

转载 作者:太空宇宙 更新时间:2023-11-04 16:22:23 25 4
gpt4 key购买 nike

我在 C++ 中创建了一个通用数组类。使用它我想重载 [] 和 = 运算符。这样我就可以像这样初始化数组元素数组a1;a1[2]=77;如何才能做到这一点?这是我的代码:

tempate<class T>
class array
{
T *data;
int length;
public:
array()
{
length=0;
}
array(int data)
{
data=new T(data);
length=data;
}
T operator[](int a)
{
return *(data+A);
}
}

最佳答案

您的运营商需要返回一个引用。最好也有一个不变的版本:

T & operator[](std::size_t i) { return data[i]; }
T const & operator[](std::size_t i) const { return data[i]; }

关于c++ - 为泛型数组重载 [] 和 = 运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15445698/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com