私はJavaとC#のバックグラウンドを持っており、C ++に飛び込む方法として、QtとBoostを使用してアイコンドックを構築しています。シリアル化のドキュメントを見て、私は&演算子のいくつかの興味深い使用法に出くわしました。
class gps_position
{
private:
friend class boost::serialization::access;
// When the class Archive corresponds to an output archive, the
// & operator is defined similar to <<. Likewise, when the class Archive
// is a type of input archive the & operator is defined similar to >>.
template<class Archive>
void serialize(Archive & ar, const unsigned int version)
{
ar & degrees;
ar & minutes;
ar & seconds;
}
int degrees;
int minutes;
float seconds;
&演算子の目的は、コメントを読むことで非常に明確です。私が知りたいのは、それはどのように達成されるのですか?「&」が何を意味するのかをどうやって知るのでしょうか?Googleでアンパサンド演算子の使用法をさらに検索しましたが、検索できるのは、操作ではなく参照を示すために使用されているものだけです。
ありがとう。