草庐IT

vector-class-library

全部标签

c++ - 这是删除和删除指向存储在 vector 中的对象的指针的正确方法吗?

我对STL不是很好,我看到很少有帖子与我的要求相似,我很困惑。所以,我需要一些关于以下代码的建议。SomeStructsomeStruct(identifier);std::vector::iteratorit=std::find_if(vWrapper.begin(),vWrapper.end(),SomeStruct::Find_SomeStruct(&someStruct));if(it!=vWrapper.end()){...delete*it;it=vWrapper.erase(it);}我正在尝试根据标识符查看vector,然后删除指向存储在vector中的对象的指针。我看

C++ vector 访问元素

如何访问myVector中的元素就像我会用数组一样(for(i=0;i)我的代码:#include#include#includeusingnamespacestd;classMonth{public:char*name;intnr_days;Month(char*c,intnr):name(c),nr_days(nr){};~Month(){/*free(name);*/}};intmain(){MonthJanuary("January",31);MonthFebruary("February",28);MonthMarch("March",31);MonthApril("Apri

c++ - 将 C++ 映射复制到键和值 vector 中

我有一个map并且我希望第一列i.e(*it).first被推回一个vector然后(*i​​t)->second被推回到另一个vector中这是最好的方法吗?std::vectortest;for(it=mymap.begin();it!=mymap.end();it++){test.push_back((*it).first);}我的另一个问题是如果我有一个循环即我如何将所有整数i插入到(*i​​t).first中?for(inti=0;i我想在(*i​​t).first中有一些整数,并在(*i​​t).second;中有相关值 最佳答案

条款47:请使用traits classes表现类型信息

1.前言STL主要由“用以表现容器,迭代器和算法”的template构成,但也覆盖若干工具性templates,其中一个名为advance,用来将某个迭代器移动某个给定距离:tempalte//将迭代器向前移动d单位voidadvance(IterT&iter,DistTd);//如果d观念上advance只是做iter+=d动作,但其实不可以全然是那样,因为只有randomaccess(随机访问)迭代器才支持+=操作。面对其它迭代器种类,advance必须反复施行++或--,共d次。先回顾下STL迭代器的分类:STL共有5种迭代器分类,inpiut迭代器只能向前移动,一次一步,客户可只读取它

c++ - 表示 2D 数据的 std::vector 中的内存泄漏

我编写了一个简单的模板化Matrix类,用于处理数据矩阵的主要应用程序。截断的矩阵代码是:templateclassMatrix{private:std::vectormatrixRepresentation;booltransposed;public:Matrix(intr,intc);intmaxRows;intmaxCols;voidsetMatrixValue(introw,intcol,Tval);TgetMatrixValue(introw,intcol);};templateMatrix::Matrix(intr,intc){maxRows=r;maxCols=c;mat

c++ - "class"在构造函数中意味着什么?

我看到了这个构造函数:MyClass(classMyOtherClass*=0){}class关键字是什么意思?构造函数是否采用MyOtherClass指针并将参数默认为空指针? 最佳答案 这是一个前向声明。MyOtherClass在此上下文中使用之前不必定义,因此前向声明就足够了。=0是参数的默认值。不需要完整定义的情况的头脑转储:成员(member)指南成员推荐方法参数类型方法返回类型比较以下内容://MyClass.hclassMyClass{MyClass(MyOtherClass*=0){}//doesn'tcompile

c++ - OpenCV SVM 在火车上抛出异常, "Bad argument (There is only a single class)"

我卡在这个了。我正在尝试通过OpenCV特征2d框架进行一些对象分类,但在训练我的SVM时遇到了麻烦。我能够提取词汇表并使用BowKMeansTrainer对它们进行聚类,但在我从训练数据中提取特征以添加到训练器并运行SVM.train方法后,出现以下异常。OpenCVError:Badargument(Thereisonlyasingleclass)incvPreprocessCategoricalResponses,file/home/tbu/prog/OpenCV-2.4.2/modules/ml/src/inner_functions.cpp,line729terminatec

c++ - bad_alloc 在初始化和填充 vector 时?

在尝试生成随机数vector时,我偶然发现了一个std::bad_alloc错误。这是我的代码:#include"search.h"#include"gtest/gtest.h"int_size=100;std::vectorGetSortedVector(intsize){//initvectorstd::vectorv(size);//fillwithrandomnumbersfor(std::vector::size_typei=0;iv=GetSortedVector(_size);//nothingmovesfartherthanthisline}附注:我现在确实在使用gen

c++ - 编写可以使用 std::vector 或 std::set 的模板

我编写了一个异步作业队列类,多年来一直运行良好。它使用std::vector作为底层集合来保存作业,然后按照您的预期稍后处理它们。当我添加作业时,它会在此vector上执行push_back。最近我决定要模板化它使用的底层集合类型以及我编写它的方式,这应该非常简单。现在声明如下:template>classasync_jobqueue{public:只有一个障碍,对于vector类型的容器,我想将东西推到集合的末尾并调用push_back,对于settish类型的容器,我想调用insert。我怎样才能做出关于调用哪个的编译决定?或者有没有我可以使用的方便的适配器?

c++ - 将 C++ vector 写入输出文件

ofstreamoutputFile("output.txt");if(outputFile.is_open()){outputFile(cout,","));如何将vector输出到文件,每个float用逗号分隔?我还想尽可能避免打印方括号。 最佳答案 outputFile(outputFile,","));^^^^^^^^^^outputFile 关于c++-将C++vector写入输出文件,我们在StackOverflow上找到一个类似的问题: http