Skip to content

Latest commit

 

History

History
45 lines (34 loc) · 1.69 KB

File metadata and controls

45 lines (34 loc) · 1.69 KB

operator++

  • utility[meta header]
  • std[meta namespace]
  • constant_wrapper[meta class]
  • function template[meta id-type]
  • cpp26[meta cpp]
template <constexpr-param T>
constexpr auto operator++(this T self) noexcept;      // 前置
template <constexpr-param T>
constexpr auto operator++(this T self, int) noexcept; // 後置

概要

constant_wrapperが保持する値をインクリメントする。

  • 前置: インクリメント後の値を保持するconstant_wrapperを返す。
  • 後置: インクリメント前の値を保持するconstant_wrapperを返す。

戻り値

  • 前置: constant_wrapper<(++T::value)>{}を返す。
  • 後置: constant_wrapper<(T::value++)>{}を返す。

備考

  • constant_wrapperが保持するvalueconstであるため、保持する値そのものを変更する式(++valuevalue op= xvalue = x)は不適格となる。
  • したがって、このオーバーロードは説明用基底クラスcw-operatorsのインターフェースとして宣言されているものの、constant_wrapperに対してはオーバーロード解決に参加せず、使用できない。

バージョン

言語

  • C++26

処理系

  • Clang: 23 [mark verified]
  • GCC: 16.1 [mark verified]
  • Visual C++: 2026 Update 2 [mark noimpl]

関連項目

参照