Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
一般的に、私たちはできる
typedef std::vector<int> container1; typedef std::vector<char> container2;
しかし、次のようなことはできないようです。
typedef vector container; container<int> ins;
これを達成する方法はありますか?私が考えることができるのは、マクロを使用することです。
C++11 エイリアスはこれを可能にします:
#include <vector> template<class T> using Vec = std::vector<T>; Vec<int> v; // same as std::vector<int> v;
これも見る
同様の方法で、C++11 の typedef を次のように書き換えることができます。
using container1 = std::vector<int>; using container2 = std::vector<char>;
これらは、質問の typedef とまったく同じです。