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はタイプであると仮定しますMyType:

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

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

// ...
于 2012-10-18T00:30:52.153 に答える