小编Igo*_*kon的帖子

需要一个通用的库,纯C

你能为C推荐一个好的通用数据容器库(纯C,而不是C++)吗?我只需要基本结构,如动态数组,哈希表等.

(注意:"好"我的意思是快速+优雅的界面).

c data-structures

23
推荐指数
6
解决办法
5724
查看次数

是否可以从任意迭代器(C++)获取值类型?

我上课了

template <typename Iterator, typename Value>
class Foo {
 public:
  Foo(const Iterator& it) { ... }
  ...
 private:
   map<Value, int> m_;
  }
};
Run Code Online (Sandbox Code Playgroud)

有没有办法摆脱模板中的价值?迭代器可能是也可能不是STL迭代器,但它保证*它的类型是Value.

我知道iterator_traits<T>::value_typeSTL迭代器,但想知道是否有任何方法可以自动为任意Iterator类型获取Value类型?

我正在考虑的一个技巧 - 比方说,我们有一个助手类

template <typename Iterator, typename Value>
class Bar {
 public:
  Bar(const Iterator& dummy_iterator, const Value& dummmy_value) {}
  ...
};
Run Code Online (Sandbox Code Playgroud)

然后,如果我们将Bar实例化为Bar(它,*it),则在Bar中将知道Value的类型.但我找不到将Bar与Foo结合起来的好方法.

c++ templates

14
推荐指数
1
解决办法
3763
查看次数

标签 统计

c ×1

c++ ×1

data-structures ×1

templates ×1