我可以 typedef 模板模板参数吗?
在 C++ 库头中,我们有时会看到以下内容,以提高类内代码的易读性:
template<typename MyExplicitelyLongTemplateParameter>
class C
{
public:
typedef MyExplicitelyLongTemplateParameter P;
// Use "P" and keep your sanity.
};
我的问题是,可以对模板模板参数执行相同的操作吗?
template<template<typename> typename MyExplicitelyLongTemplateParameter>
class C
{
public:
typedef /* ??? */ P;
// Use "P" and keep your sanity.
};
In C++ library headers, we'll sometimes see the following to improve legibility of the code inside a class:
template<typename MyExplicitelyLongTemplateParameter>
class C
{
public:
typedef MyExplicitelyLongTemplateParameter P;
// Use "P" and keep your sanity.
};
My question is, can one do the same with template template parameter?
template<template<typename> typename MyExplicitelyLongTemplateParameter>
class C
{
public:
typedef /* ??? */ P;
// Use "P" and keep your sanity.
};
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
你不能创建 typedef,不,但你可以缩短名称:
You can't create a typedef, no, but you can shorten the name:
在当前标准中,您不能 typedef 模板。在即将推出的新标准中,您将能够......
In the current standard, you can't typedef a template. In the new, upcoming standard, you will be able to....