[英]C++: How to create getters/setters for a pointer to a pointer to an array of 3 doubles
我有一个问题,如何返回指向 3 个双精度数组的指针的指针。 在我的示例中,我有一个 class 作为私有成员:
class MyColorClass {
....
private:
const double (**colorData)[3];
...
}
我应该如何为此编写getter和setter?
这不起作用:
const double *** MyColorClass::getcolorData()
{
return colorData;
}
PS:之前有一个写的不好的类似问题请见谅(我删掉了)
谢谢:)
const double (**getColorData() const)[3]
{
return colorData;
}
右侧的const
不是特定于此类型的,应该添加到所有 getter 中。 通常它位于声明的最右边,但在这种情况下不是。
像你那样用指针替换数组只有在你为数组创建一个 getter 时才有意义,但是colorData
是一个指针,而不是一个数组(它指向什么并不重要)。
getColorData // getColorData is
getColorData() const // a const function, returning
*getColorData() const // a pointer to
**getColorData() const // a pointer to
(**getColorData() const) // ...
(**getColorData() const)[3] // an array of 3 of
const double (**getColorData() const)[3] // const double
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.