namespace std {
namespace placeholders {
unspecified _1;
unspecified _2;
…
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