这个问题有很多相当复杂的背景,需要很长时间才能解释......所以我大幅简化并省略了很多细节......
本质上我有一个函数,其中我有一个类的实例。 Class 类型是 Mat,实例是“Fred”。所以我可以使用点 (.) 运算符访问 Fred 类中的数据,即 Fred.data。我现在想调用第二个函数,我希望在其中对 Fred 进行一些处理。如果我将指针传递给 Fred,则第二个函数将必须使用箭头运算符 (->) 访问它的数据。
我想知道我是否可以以不同的方式传递 Fred,以便 function2 中的代码可以使用 Jim.data 访问数据?
void function1()
{
// some code here involving Fred
int x = Fred.data;
function2(&Fred)
}
void function2(Mat *Jim)
{
int y = Jim->data;
}
最佳答案
通过引用传递
void function2(Mat& Jim)
尽管直接访问数据成员有点代码味道。
关于c++ - 将类作为参数传递,但仍使用点运算符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24558151/