草庐IT

current_iteration

全部标签

C++ istream_iterator 不是 std 的成员

谁能告诉我为什么我在编译时写的下面这段代码一直在提示istream_iteratorisnotamemberofstd请你告诉我吗?谢谢大家#include#include#include#include#include#include#include//#includestructfield_reader:std::ctype{field_reader():std::ctype(get_table()){}staticstd::ctype_base::maskconst*get_table(){staticstd::vectorrc(table_size,std::ctype_bas

c++ - 从迭代器获取 const_iterator

这个问题在这里已经有了答案:关闭11年前.PossibleDuplicate:Obtainingconst_iteratorfromiterator我想写一个返回相应const_iterator的元函数来自iteratortemplatestructget_const_iterator{typedef???type;};get_const_iterator::type必须是constint*get_const_iterator::type必须是constint*get_const_iterator::type必须是constint*或constint*const,我不在乎get_con

c++ - 使用宏 _BIND_TO_CURRENT_VCLIBS_VERSION 是否有任何副作用?

我们正在将一个VC++项目从VisualStudio2003移植到VisualStudio2008SP1(9.0.30729.4148)。依赖的外部库也是使用VisualStudio2008SP1编译。MainApp-MainapplicationCompiledwithVSSP19.0.30729.4148ExtStaticLib1-ExternalstaticlibrarycompiledwithVSSP19.0.30729.4148ExtDynamicDll1-ExternalDLLcompiledwithVSSP19.0.30729.4148主应用有两种部署场景:具有用户管理员

c++ - 为什么 std::count(_if) 返回 iterator::difference_type 而不是 size_t?

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:WhydoestheC++standardalgorithm“count”returnaptrdiff_tinsteadofsize_t?标准C++中有std::count/std::count_if算法。templatetypenameiterator_traits::difference_typecount(InputIteratorfirst,InputIteratorlast,constT&value);templatetypenameiterator_traits::difference_typec

c++ - 检查迭代器的类型是否为 reverse_iterator

有没有办法检查作为arg传递给fnc的迭代器是否是reverse_iterator?我可以使用任何迭代器特征函数吗? 最佳答案 用偏特化来写很简单:#include#includetemplatestructis_reverse_iterator:std::false_type{};templatestructis_reverse_iterator>:std::true_type{};尽管如下所述,这并不能处理“反向-反向”迭代器的(恕我直言不太可能)情况。Bathsheba的答案中稍微不那么琐碎的版本正确处理了这种情况。

c++ - boost::filesystem::recursive_directory_iterator 带过滤器

我需要递归地从目录及其子目录中获取所有文件,但不包括几个目录。我知道他们的名字。是否可以使用boost::filesystem::recursive_directory_iterator? 最佳答案 是的,在遍历目录时,您可以测试排除列表中的名称并使用递归迭代器的no_push()成员来防止它进入这样的目录,例如:voidselective_search(constpath&search_here,conststd::string&exclude_this_directory){usingnamespaceboost::filesy

c++ - 为什么我不能从 iterator_traits 获取 value_type?

我正在这样做:constintarr[]={1,2,3,4,5,6,7,8,9,10,11,12,13};constautofoo=cbegin(arr);consttypenameiterator_traits::value_typebar=1;我会期待bar有类型int.但是我得到了一个错误:errorC2039:value_type:isnotamemberofstd::iterator_traits这是const的问题吗?我需要去掉那个吗? 最佳答案 这里的问题在于行constautofoo=cbegin(arr);cbeg

c++ - 有什么方法可以获取 "current function"的返回类型

我想编写一个模板,该模板将获取实例化函数的返回类型作为参数。例如,假设我有一个Result模板类:templateclassResult{T_result_value;T&operator=(Tthat);~Result();}这个类(class)会有几个专业。在析构函数中,我想记录返回类型,并且在operator=中分配我想检查并断言错误值。理想情况下,我希望能够有这样的定义:#defineRESULTResult所以我可以使用它:HFILEMyOpenFile(...){RESULTresult;}...将推导出为Result.这是一个简化的例子:写RESULT而不是Result没

自己的容器类的 C++ 迭代器和 const_iterator 问题

我正在编写一个自己的容器类,但遇到了一个我无法理解的问题。这是显示问题的简单示例。它由一个容器类和两个测试类组成:一个使用std:vector的测试类可以很好地编译,第二个测试类尝试以完全相同的方式使用我自己的容器类,但编译失败。#include#include#includeusingnamespacestd;templateclassMyContainer{public:classiterator{public:typedefiteratorself_type;inlineiterator(){}};classconst_iterator{public:typedefconst_i

c++ - 如何从 STL 数据结构中删除 reverse_iterator?

由于某种原因,以下代码失败。您不能简单地使用它的base()方法删除reverse_iterator。#include#includeintmain(){std::setsetOfInts;setOfInts.insert(1);setOfInts.insert(2);setOfInts.insert(3);std::set::reverse_iteratorrev_iter=setOfInts.rbegin();std::set::reverse_iteratornextRevIter=setOfInts.rbegin();++nextIter;while(rev_iter!=set