1

所以我有一个场景,其中类中有类,以便访问特定的变量或函数:

stateMachine->data->poseEstimate->getData()
stateMachine->data->poseEstimate->setData()

现在这是完全合法的,但它看起来令人费解并且难以阅读。在函数中,我希望能够执行以下操作:

typedef stateMachine->data->poseEstimate pose

pose->getData()
pose->setData()

这将使代码更具可读性。显然typedef不会起作用,因为它用于定义类型。有没有一种平等的方式可以让我这样做?

4

2 回答 2

2

在实践中,我用一个引用变量给所述对象起别名,给定一个与它所在的上下文相关的描述性名称:

PoseEstimateType& PoseEstimate = stateMachine->data->poseEstimate;
PoseEstimate->getData();
PoseEstimate->setData();

如果您的编译器支持该auto关键字,则可以使用auto参考:

auto& PoseEstimate = stateMachine->data->poseEstimate;
PoseEstimate->getData();
PoseEstimate->setData();
于 2012-10-18T02:13:59.423 回答
1

使用引用存储中间对象。我们不知道您的类型名称,但假设它poseEstimate是 type MyType

MyType &pose = stateMachine->data->poseEstimate;

pose->getData();
pose->setData();

// ...
于 2012-10-18T00:30:52.153 回答