LeC*_*Coc 4 c++ boost iterator std
我正在尝试获取给定集合的所有元素的地址,并将它们复制到std :: set.基本上,而不是
std::set<T> s1;
std::copy(first1, last1, std::inserter(s1, s1.begin()));
Run Code Online (Sandbox Code Playgroud)
我想插入他们的地址.就像是:
std::set<std::add_pointer<T>> s1;
std::copy(reference_iterator(first1), reference_iterator(last1),
std::inserter(s1, s1.begin()));
Run Code Online (Sandbox Code Playgroud)
这里,reference_iterator将是一个迭代器,它返回其元素的地址而不是元素,这与boost indirect_iterator的作用相反.有没有标准的方法呢?非常感谢.
Bri*_*ian 10
使用std::transform与修改复制.
std::transform(first1, last1, std::inserter(s1, s1.begin()),
std::addressof<T>);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
194 次 |
| 最近记录: |