1. ホーム
  2. c++

[解決済み] カンマ演算子をオーバーロードするタイミングは?

2023-06-23 14:36:52

質問

C++のカンマ演算子のオーバーロードに関する質問をSOでちょくちょく見かけるのですが(主にオーバーロードそのものとは関係なく、シーケンスポイントの概念など)、不思議に思っています。

いつ をオーバーロードしますか?その実用的な使用例にはどのようなものがありますか?

私の頭の中には、次のような例を見たことも、必要なことも思いつきません。

foo, bar;

のように、実際のコードで使われることがあるのか、気になるところです。

どのように解決するのですか?

に少し強調を変えてみましょう。

いつ あなたは コンマをオーバーロードしていませんか?

答えは 絶対にありません。

例外はあります。テンプレートメタプログラミングをしている場合。 operator, は演算子優先順位リストの一番下に特別な場所があり、SFINAE-guardなどを構築するのに便利な場合があります。

私が見た中で、オーバーロードの実用的な使い方は2つだけです。 operator, は両方とも ブースト :