草庐IT

col_iterator

全部标签

C++ STL : list with Pointers - Iterator cannot access?

我正在为一个包含我的“对象”对象指针的STL列表而苦苦挣扎。我声明:listobjectlist;并通过以下方式插入:this->objectlist.push_back(newObject(address,value,profit));并尝试像在map和其他中一样进行迭代:list::iteratoriter;iter=this->objectlist.begin();while(iter!=this->objectlist.end()){iter->print();}其中print()是Object类的公共(public)方法;这里有什么问题?我无法通过迭代器访问列表中的对象?

c++ - std::string::iterator 偏移并返回

我是否可以通过某个成员将迭代器设置为字符串中的第5位,或者我必须执行for(i=0;i?给定一个迭代器,如何将其转换为字符串中的数字偏移量?如果std::iterators无法做到这一点,可以提升吗?迭代器偏移量 最佳答案 CanIsetaniteratortoposition5inastringviasomemember您可以使用std::advancestd::advance(iterator,5);或iterator+=5;GivenanIterator,howcanIconvertthattoanumericoffsetin

c++ - std::string::iterator 偏移并返回

我是否可以通过某个成员将迭代器设置为字符串中的第5位,或者我必须执行for(i=0;i?给定一个迭代器,如何将其转换为字符串中的数字偏移量?如果std::iterators无法做到这一点,可以提升吗?迭代器偏移量 最佳答案 CanIsetaniteratortoposition5inastringviasomemember您可以使用std::advancestd::advance(iterator,5);或iterator+=5;GivenanIterator,howcanIconvertthattoanumericoffsetin

c++ - STL 算法 : Why no additional interface for containers (additional to iterator pairs)?

我想知道为什么STL不会重载它们的算法函数,这样我就可以通过简单地提供一个容器而不是采用更冗长的方式来传递begin+end迭代器来调用它们。我当然理解为什么我们还想使用迭代器对来处理容器/数组的子序列,但是,几乎所有对这些方法的调用都使用了整个容器:std::for_each(myVector.begin(),myVector.end(),doSomething);我会发现只写更方便、可读和可维护std::for_each(myVector,doSomething);STL不提供这些重载是否有原因?[编辑:我的意思不是用这个受限的接口(interface)替换接口(interface

c++ - STL 算法 : Why no additional interface for containers (additional to iterator pairs)?

我想知道为什么STL不会重载它们的算法函数,这样我就可以通过简单地提供一个容器而不是采用更冗长的方式来传递begin+end迭代器来调用它们。我当然理解为什么我们还想使用迭代器对来处理容器/数组的子序列,但是,几乎所有对这些方法的调用都使用了整个容器:std::for_each(myVector.begin(),myVector.end(),doSomething);我会发现只写更方便、可读和可维护std::for_each(myVector,doSomething);STL不提供这些重载是否有原因?[编辑:我的意思不是用这个受限的接口(interface)替换接口(interface

c++ - 'std::vector<T>::iterator it ;' doesn' t 编译

我有这个功能:templatevoidInventory::insertItem(std::vector&v,constT&x){std::vector::iteratorit;//doesn'tcompilefor(it=v.begin();it而g++给出了这些错误:src/Item.hpp:Inmemberfunction‘voidyarl::item::Inventory::insertItem(std::vector>&,constT&)’:src/Item.hpp:186:error:expected‘;’before‘it’src/Item.hpp:187:error:‘

c++ - 'std::vector<T>::iterator it ;' doesn' t 编译

我有这个功能:templatevoidInventory::insertItem(std::vector&v,constT&x){std::vector::iteratorit;//doesn'tcompilefor(it=v.begin();it而g++给出了这些错误:src/Item.hpp:Inmemberfunction‘voidyarl::item::Inventory::insertItem(std::vector>&,constT&)’:src/Item.hpp:186:error:expected‘;’before‘it’src/Item.hpp:187:error:‘

c++ - 比较两个map::iterators:为什么需要std::pair的拷贝构造函数?

下面非常简单的代码在C++98中编译和链接时不会出现警告,但在C++11模式下会出现难以理解的编译错误。#includestructA{A(A&);//m;returnm.begin()==m.end();//line9}-std=c++11的错误是,gccversion4.9.020140302(experimental)(GCC):ali@X230:~/tmp$~/gcc/install/bin/g++-std=c++11cctor.cppInfileincludedfrom/home/ali/gcc/install/include/c++/4.9.0/bits/stl_algob

c++ - 比较两个map::iterators:为什么需要std::pair的拷贝构造函数?

下面非常简单的代码在C++98中编译和链接时不会出现警告,但在C++11模式下会出现难以理解的编译错误。#includestructA{A(A&);//m;returnm.begin()==m.end();//line9}-std=c++11的错误是,gccversion4.9.020140302(experimental)(GCC):ali@X230:~/tmp$~/gcc/install/bin/g++-std=c++11cctor.cppInfileincludedfrom/home/ali/gcc/install/include/c++/4.9.0/bits/stl_algob

c++ - <iterator> 引入的 sys/sysmacros.h 中定义的主要和次要宏

我正在编写一个具有类似矩阵结构的类,并且我希望有一个名为minor的成员函数与矩阵运算相同。这会触发一些错误。我系统上的最小测试用例:#includevoidminor(introw,intcol);编译时,clang提供以下错误:$clang++-Weverything-std=c++11test.cpptest.cpp:2:21:error:toomanyargumentsprovidedtofunction-likemacroinvocationvoidminor(introw,intcol);^/usr/include/x86_64-linux-gnu/sys/sysmacro