gpt4 book ai didi

c++ - 模板类型定义 - 你的工作是什么?

转载 作者:IT老高 更新时间:2023-10-28 12:08:36 26 4
gpt4 key购买 nike

C++ 0x 有模板别名(有时称为模板类型定义)。见 here .当前的 C++ 规范没有。

你喜欢用什么来解决问题?容器对象或宏?你觉得值得吗?

最佳答案

What do you like to use as work around ? Container objects or Macros ? Do you feel its worth it ?

规范的方法是使用这样的元函数:

template <typename T>
struct my_string_map {
typedef std::map<std::string, T> type;
};

// Invoke:

my_string_map<int>::type my_str_int_map;

这也用于 STL (allocator::rebind<U>) 和包括 Boost 在内的许多库中。我们在 bioinformatical library 中广泛使用它。 .

它有点臃肿,但 99% 的情况下它都是最佳选择。在这里使用宏不值得这么多缺点。

(编辑:我已经修改了代码以反射(reflect) Daniel 在他的评论中指出的 Boost/STL 约定。)

关于c++ - 模板类型定义 - 你的工作是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26151/

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