私のバディと私は最近leveldbのソースコードを読んでいます。そして、私たちはこの問題に遭遇します。 leveldb db/skiplist.hファイルでは、コンストラクタ宣言があります:二重パラメータコンストラクタが明示的なキーワードで始まるのはなぜですか?
explicit SkipList(Comparator cmp, Arena* arena);
私は、単一のパラメータで明示的なコンストラクタは、コンストラクタのパラメータには、暗黙の型変換を意味しません知っています。しかし、明示的なキーワードを持つ二重パラメータのコンストラクタはどういう意味ですか? C++ 11の新しい規則ですか?
ありがとうございました。
これは正確な宣言ですか? 'arena'はデフォルト値がありませんか? – Gorpik
@Gorpik OPがまったく同じインターフェイスを持っているが、[ここ](http://code.google.com/p/leveldb/source/browse/db/skiplist.h?r=bc1ee4d25e09b04e074db330a41f54ef4af0e31b)を見ればわかりません。 – TobiMcNamobi
暗黙のキャストを避けるためにC++の「明示的」キーワードが使用されています – alexbuisson