このうちどれか1つではなくxとyを返すにはどうすればよいですか? 私のLocationクラスでは、私はx_pos
とy_pos
という名前の保護されたデータを持っています。場所をx、y、zとして返す方法
void Location::getXY(double& x, double& y) const {
x_pos = x;
y_pos = y;
return x, y;
}
このうちどれか1つではなくxとyを返すにはどうすればよいですか? 私のLocationクラスでは、私はx_pos
とy_pos
という名前の保護されたデータを持っています。場所をx、y、zとして返す方法
void Location::getXY(double& x, double& y) const {
x_pos = x;
y_pos = y;
return x, y;
}
std::pair
を返すことができます。私はあなたがここで参考にするのではなく、価値あるものに戻りたいと思っています。
この関数は論理的には意味がありませんが、最初に渡した値を変更せずに返すことに注意してください。
ここで 'decltype(auto)'は実際には必要ありません。 'auto'で十分です。 – skypjack
おそらく
void Location::getXY(double& x, double& y) const {
x = x_pos;
y = y_pos;
}
あなたが提供する場所でLocation
のx_pos
内部とy_pos
を保存するこの方法
void
を返す関数(実際には
void
以外は返すことはできません)から何かを返す必要はありません。
return
誰もが前に言ったように、
std::pair
を返す方が良いアイデアかもしれません。
std :: pairまたはstd :: tupleはどうでしょうか?そうでなければ、参照はイン変数とアウト変数です。 – Niall
'std :: pair'を返しますか? 'std :: tuple'を返しますか? 'std :: array'を返しますか? 'std :: vector'を返しますか?構造体を返しますか? –
あるいは、 'x'と' y'を非定数参照として渡すので、それらに代入するだけですか? –