对于具有以下定义的模板,' typename Container = std :: deque' 似乎是默认的模板参数。在这种情况下,我可以使用别名吗?
add_reference :members, :group_auth_token, foreign_key: { to_table: :groups }, references: :auth_token
我可以用Alias替换它吗?
template<typename T, typename Container = std::deque<T> >
class stack {
// ...
}
更新: 如果C是模板,我很好奇如何传递模板参数。下面的答案实际上很好地回答了我的问题。
答案 0 :(得分:3)
是的,您可以,但默认模板参数(即std::deque<T>
)将丢失。
可能会越接近:
template<typename T, template <typename...> typename C = std::deque>
class stack {
using Container = C<T>; // replace with alias
template <typename X>
using Underlying_Container = C<X>; // an alias for C
};