boost::optional
C++ライブラリは実験::オプション "nullopt_t" 命名根拠
f(..., optional<T> default_argument = boost::none)
又は
f(..., optional<T> default_argument = none)
ようなコードだけでなく、選択した名前であるboost::none
によって示さ 'は値' を有していません意図は読者に明確に伝えられています。また、他の言語の標準クラスで提供されている「価値なし」と同様です。このBoostライブラリはstd::experimental::optional
として標準に組み込まれましたが、none
という名前は変更不可能なnullopt_t
に改名されました。なぜ誰が知っていますか?
おそらく、他の型名の命名規則と一貫性を保つためです。実際の値は 'nullopt'であり、' nullopt_t'型です。 'nullptr'と同じように' nullptr_t'型の値です。 – NathanOliver
'nulloptは'オプションの 'にも固有ですが、' none'は何にも適用できます。 'expected 'が 'optional 'と意味的に等価であると想定されている 'expected 'の標準化では面白い問題です。 –
@NiallDouglasそれは名前空間が何のためのものなのですか? – Mohan