最終更新日時(UTC):
が更新

履歴 編集

variable
<functional>

std::placeholders(C++11)

namespace std {
namespace placeholders {
  /*see below*/ unspecified _1;
  /*see below*/ unspecified _2;
  
  /*see below*/ unspecified _N;
}}

概要

_1_2、…、_Nは、bind()で使用するプレースホルダーオブジェクトである。

それぞれ、bind()によって返された関数オブジェクトに指定する「第1引数」「第2引数」…「第N引数」であることを意味する。

各プレースホルダーオブジェクトの宣言は、可能ならば以下のように行われる。

inline constexpr unspecified _1;

そうできない場合、もしくはC++14までは次のように宣言される。

extern unspecified _1;

要件

placeholderの型は、デフォルト構築とコピー構築が可能であり、デフォルト・コピー・ムーブコンストラクタは例外を投げない。 また、それらの型がコピー代入可能であるかは処理系定義であるが、コピー代入可能な場合はその代入演算子も同様に例外を投げない。

C++20以降、それらのコンストラクタ及び代入演算子(定義されている場合)はconstexpr関数である。

備考

プレースホルダーの数(Nの値)は、10以上実装することが推奨される。

バージョン

言語

  • C++11

参照