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 完全相同。