セイを簡素化するために使用する方法を、私は、私のクラスの一つに、コードのこの部分を持っているC++ decltype変数定義
- キーのマップと他のマップ
- 2番目のマップが別であるが定義されていますキーとファンクションハンドラ
- 機能投手は2つのparams
今、変数を定義するための署名は信じられないほどに見えるをとる署名があります。
std::map<std::string, std::map<std::string,
std::function<void(std::shared_ptr<HTTPRequest>,
std::shared_ptr<HTTPResponse>)>>> routeFunctions_;
私は最近decltypeについて知りましたが、これを正しく使用できませんでした。
decltype(x) routeFunctions_; // What should be there in the place of x ?
? 'typedef'または' using'のどちらかを使用していますか?たとえば、 'request_ptr = std :: shared_ptr;を使用しています。次に、これらのタイプエイリアスをより広範なタイプのエイリアスに結合します。 'route_type routeFunctions_;'ここで 'decltype'は必要ありません。 –
'x'は、必要な型の結果を持つ式か、必要な型の別の変数の名前を持つ式になります。式が参照を生成するならば、 'decltype'もそうであることに注意してください。 – Peter
私はこの提案と一緒に行くべきだと思います。さらに、decltype()は、割り当てがある場合にのみ便利です。私はこれらの新機能をまだ探っているので間違っているかもしれません。 –