gpt4 book ai didi

C++:有没有办法创建模板化命名空间?

转载 作者:太空狗 更新时间:2023-10-29 19:39:37 24 4
gpt4 key购买 nike

我想知道是否可以执行以下操作:

template <typename T>
namespace basic_foo {
struct str {
T value;
};
}

basic_foo<char>::str s1;
namespace foo = basic_foo<char>;
foo::str s2;

是否可以在任何 c++ 编译器中执行此操作?
是否正在为此开展工作?
我认为这将是对语言的一个很好的补充。

提前致谢。

最佳答案

不,您不能定义命名空间模板。但是,通过将 basic_foo 设为类模板,您几乎可以完全实现您想要的效果(语法略有不同):

template <typename T>
struct basic_foo {
struct str {
T value;
};
};

basic_foo<char>::str s1;
typedef basic_foo<char> foo;
foo::str s2;

关于C++:有没有办法创建模板化命名空间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11366336/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com