草庐IT

EidosValue_Int_vector

全部标签

c++ - vector - 当元素有 const 成员时交换两个元素

我有以下代码classa{public:constintaa;a(intaa):aa(aa){}};intmain(){std::vectorv;v.emplace_back(1);v.emplace_back(2);v.emplace_back(3);v.emplace_back(4);std::iter_swap(v.begin()+1,v.rbegin());system("pause");return0;}当我尝试交换vector的两个元素时出现错误。ErrorC2280'a&a::operator=(consta&)':attemptingtoreferenceadelete

c++ - vector in struct 耗时吗?使用指针更好吗?

我在C++中有一个这样的结构:structMyStruct{someTypev1;someType2v2;someType3v3;someType4f1();std::vectormyVector;};它会经常以这样的形式使用://someprocess...afterwhichastd::vectorvec1isgeneratedMyStructmyStruct;myStruct.myVector=vec1;由于vec1比较大。我想知道通过执行分配myStruct.myVector=vec1;是否花费很多时间我是否应该在MyStruct中使用指向myVector的指针来使其更快?如何

c++ - 填充作为成员变量的 int 数组

我正在使用C++为游戏创建瓦片map。我的问题是,我想在Map构造函数中填充一个多维整数数组,但它无法正常工作。这是我在“Map.h”中的代码(不相关的代码已被删除)。classMap{private:intmapArray[15][20];};还有我来自Map.cpp的代码Map::Map(){mapArray={{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19},{20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39},{40,41,42,43,44,45,46,4

c++ - 根据 size() 排序 vector

我有一个像vector>v(points);这样的二维vector其中坐标类是:classcoordinate{public:intx;inty;coordinate(){x=0;y=0;}};积分是20。如何基于v[i].size()对单个vectorv[i]进行排序,即基于插入v[i]的坐标对象的数量。??? 最佳答案 1)创建一个根据大小比较两个vector的函数:boolless_vectors(constvector&a,constvector&b){returna.size()2)用它排序sort(v.begin(),v

c++ - 我如何将一个 int 添加到一个字符串

我有一个字符串,我需要向它添加一个数字,即一个整数。喜欢:stringnumber1=("dfg");intnumber2=123;number1+=number2;这是我的代码:name=root_enter;//pullnamefromanotherstring.size_tsz;sz=name.size();//findthesizeofthestring.name.resize(sz+5,account);//addtheaccountnumber.cout这行得通……有点,但我只得到“*name*88888”而且……我不知道为什么。我只需要一种方法将int的值添加到字符串的末

c++ - 使用默认构造函数初始化 std::vector

我有一个类字段,它是一个std::vector。我知道我希望这个vector包含多少个元素:N。如何用N个元素初始化vector? 最佳答案 std::vector有一个构造函数声明为:vector(size_typeN,constT&x=T());您可以使用它来构造包含N个x拷贝的std::vector。x的默认值是初始化值T(如果T是具有默认构造函数的类类型,则值初始化是默认构造)。使用此构造函数初始化std::vector数据成员非常简单:structS{std::vectorx;S():x(15){}}

c++ - 使用波浪号获取 int 的 MAX 值

我尝试使用代字号获取int的MAX值。但输出不是我所期望的。当我运行这个时:#include#includeintmain(){inta=0;a=~a;printf("\nMaxvalue:%d",-a);printf("\nMaxvalue:%d",INT_MAX);return0;}我得到输出:最大值:1最大值:2147483647我想,(例如)如果我在RAM中有0000(我知道第一位显示的是数字pozitiv或negativ)。在~0000=>1111和-(1111)=>0111之后,我会得到MAX值。 最佳答案 您有一个32

C++:如何将 int 转换为 unsigned long 而不更改任何位?

C++:如何将int转换为unsignedlong且不更改任何位?我想将值打包和解包到内存中。字长为64位。这个片段说明了问题:intv1=-2;//0xfeunsignedlongv2=(unsignedlong)v1;//0xfffe,Iwant0x00fe简单的解决方案是:unsignedlongv2=(unsignedint)v1;//0x00fe但是,这段代码位于目标类型是参数的模板中,所以我不得不求助于此:uint64target=mem[index]&mask;uint64v;if(value假设,例如,“value”的类型是一个int(16位)并且bits=16。目标是

c++ - ofstream 指针的 vector

这是我的问题,我需要创建X个文件并根据不同的因素写入它们,我的解决方案是创建一个像这样的流指针vector#include#include#include#include#includevectorfiles;files.resize(SplitVec.size()-4);for(i=0;i(i);cout直到这一部分,它创建的文件都很好,后来在我写给它们的程序中,这也很好,我的问题是当我想关闭对象时,如果我使用:for(i=0;i我收到以下错误:Infileincludedfrommain.cpp:14:./methyl.h:298:error:requestformember'cl

与 vector 相比,C++ STL 队列内存使用情况?

我想知道与vector相比,队列到底使用了多少内存。前几天我遇到了一个问题,我有一个使用大约60MB的int队列数组,当相同的数据被放入一个vector的vector中时,它使用了大约4MB。这是我在编写程序时的错误,还是STL队列通常使用比vector更多的内存? 最佳答案 std::queue是容器适配器,而不是容器本身。那么让我们比较一些实际容器的开销:std::vector非常节省内存,它几乎使用零开销。std::vector在大多数平台上,每个项目使用大约4个字节。std::list内存效率非常低,每个项目可能会使用两个开