どうすればいいですかtypedef
template class
?ような何か:テンプレートクラスをtypedefするには?
typedef std::vector myVector; // <--- compiler error
私は2つの方法を知っている:
(1) #define myVector std::vector // not so good
(2) template<typename T>
struct myVector { typedef std::vector<T> type; }; // verbose
は、我々はC++ 0xの中で、より良いものを持っていますか?
なぜこれが欲しいですか?ユースケースは何ですか? –
私はいくつかの 'テンプレートクラス'を含んでいるところで何かを実装しています。最初に、私は標準のクラスでそれを実装します、私は自分のカスタムクラスに移動したいです。ですから、そのスイッチは 'typedef'を変更するだけの簡単なものでなければなりません。 – iammilind
私はDavidに同意する必要があります。なぜこれをエイリアスしたいのですか?間接参照は、読み取り不可能で保守不能なコードの主な原因です。しかし、あなたは正当な理由、 "抽象"を与えました。 stlの問題はAPIです。特定の最適化を妨げます。同じAPIを使い、あなたがもっとうまくいくと思っているのは悪いことです。あなた自身の成長可能な配列を書くのに一日かかることはありません。ちょうどそれをして、それで済ませてください。またはSTLを使用して、あなたの人生に乗ってください。 – Dan