gpt4 book ai didi

C++,有没有办法 (object.method(0,0) = 10) 使用赋值运算符而不是额外的参数?

转载 作者:行者123 更新时间:2023-12-01 14:13:12 24 4
gpt4 key购买 nike

我是 C++ 的新手,这是我学习计算机科学的第一年,而且...我只是想问问是否...有没有办法让我在标题中输入的内容起作用?...

为了进一步解释我的意思,这里有一个例子:

    template <class dataType>
class squareMatrix{
private:
int size_side;
dataType *mainPtr;
public:
squareMatrix(int n){
this->size_side = n;
mainPtr = new dataType[n*n];
}

void index(int row, int column, dataType value){
mainPtr[row+(size_side*column)] = value;
}
};

所以你可以看到我需要使用这个方法来操作矩阵中的索引

squareMatrix<int> obj(2);    // created a matrix of 2x2 size
obj.index(0,0,10); // here is the method to store the number 10 in the 0,0 index

然后我的问题是,有没有办法把它变成这个?

obj.index(0,0) = 10;

有没有办法改用“=”或赋值运算符来代替向方法添加额外参数?

最佳答案

是的,您可以让 index 返回对元素的引用,(就像 std::vector::operator[]std::vector::at 那样,)例如

dataType& index(int row, int column) {
return mainPtr[row+(size_side*column)];
}

然后你可以像这样给返回值赋值

obj.index(0,0) = 10;

关于C++,有没有办法 (object.method(0,0) = 10) 使用赋值运算符而不是额外的参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62671358/

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