草庐IT

vector_tostr

全部标签

c++ - C++ 字符串和字符串 vector 的 C 实现

我有一些C++API,如下所示:API1(std::stringstr,std::vectorvecofstr);我想从C代码调用此API。我如何为此提供C包装器?std::stringstr=>Icanprobablyusechar*forstd::string&std::vectorvecofstr=>字符串vector的char*数组,如char*arrOfstrings[SIZE]; 最佳答案 这是相应的C头文件(及其C++实现)的样子:声明#ifdef__cplusplusextern"C"#endifvoidcAPI1(

C++:如何制作一个已经包含元素的 vector

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:C++:EasiestwaytoinitializeanSTLvectorwithhardcodedelementsHowtoinitializeavectorinc++我想知道是否有一种方法可以用已公布的元素制作vector..不必做:vectorv;v.push_back(3);v.push_back(5);v.push_back(1);等等,其中v={3,5,1},我想制作一个已经包含如下元素的vector:vectorv={3,5,1};因为将每个数字插入vector中需要大量工作。有捷径吗?

c++ - 如何使用 boost::spirit 将单词序列解析为 vector ?

我正在努力学习boost::spirit.例如,我试图将一系列单词解析为vector.我试过这个:#include#includenamespaceqi=boost::spirit::qi;intmain(){std::vectorwords;std::stringinput="thisisatest";boolresult=qi::phrase_parse(input.begin(),input.end(),+(+qi::char_),qi::space,words);BOOST_FOREACH(std::stringstr,words){std::cout这给了我这个输出:'thi

c++ - 初始化 3D vector 的最有效方法是什么?

我在C++中有一个3D字符串vector:vector>>some_vector我正在尝试的是找到一种快速的方法为其分配内存。我尝试用以下两种不同的方法来定义它:#include#include#includeusingnamespacestd;#defineDIM1100#defineDIM29#defineDIM3120intmain(){clock_tt1_start=clock();vector>>vec1(DIM1,vector>(DIM2,vector(DIM3)));clock_tt1_end=clock();doublediff1=(t1_end-t1_start)/d

c++ - 使用索引为 2D Vector 赋值

我正在尝试通过使用两个索引将值添加到2Dvector。当我运行我的程序时,我收到一条Windows消息,提示该程序已停止运行。使用Dev-C++调试显示存在段错误(我不确定这是什么意思)。请不要建议使用数组,我必须为此作业使用vector。#include#includeusingnamespacestd;intmain(intargc,char**argv){vector>matrix;cout我创建了一个测试用例,我想用值5填充一个3X3矩阵。我怀疑这与未具体定义的2Dvector的大小有关。我如何使用索引用值填充二维vector? 最佳答案

C++ 将 std::tuple<A, A, A...> 转换为 std::vector 或 std::deque

在我正在编写的简单解析器库中,使用std::tuple_cat组合了多个解析器的结果。.但是,当应用多次返回相同结果的解析器时,将此元组转换为vector或双端队列等容器变得很重要。如何做到这一点?这种元组怎么能std::tuple,std::tuple,std::tuple等被转换成std::vector?我认为使用typename...As可能是可行的和sizeof...(As),但我不确定如何创建一个较小的元组来递归调用该函数。或者如何编写一个从元组中逐个提取元素的迭代解决方案。(因为std::get(tuple)是在编译时构建的)。如何做到这一点?

c++ - 使用 std::move 返回 std::vector

我有一个非常基本的问题:返回std::vector是个好主意吗?使用std::move?例如:classA{};std::vector&&func(){std::vectorv;/*fillv*/returnstd::move(v);}我应该返回std::map,std::list..等...以这种方式? 最佳答案 你声明了一个通过右值引用返回的函数——这几乎永远不应该做(如果你通过引用返回局部对象,你最终会得到一个悬空引用)。而是声明函数按值返回。这样,调用者的值将由函数返回的右值构造。返回值也将绑定(bind)到任何引用。其次,

c++ - 在访问 vector<bool> 中的元素地址时获取临时地址

我仅在访问boolvector中的元素地址时收到警告。对于int等其他数据类型的vector,我不会收到任何警告。例如vectorboolVect;boolVect.push_back(false);if(boolVect.size()>0){cout我在声明“cout有人可以澄清一下吗? 最佳答案 std::vector坏了(参见例如http://www.informit.com/guides/content.aspx?g=cplusplus&seqNum=98或Alternativetovector)。它是std::vector

c++ - 如果类成员是 vector ,我们是否应该显式地编写一个复制构造函数?

structmyType{vectorls;};这里ls持有指向char的指针。如果未提供myType的用户定义复制构造函数,myType的默认复制构造函数是否会执行ls的深层复制? 最佳答案 Herelsisholdingpointertochar.Ifcopyconstructorisnotprovided,willdefaultcopyconstructordothedeepcopy?默认的复制构造函数将复制所有成员——即调用它们各自的复制构造函数。1所以是的,std::vector(就C++而言没有什么特别之处)将被正式复制

c++ - std::vector push_back(Object()) 和 push_back(new Object()) 的区别?

在我当前的代码中,我想将新的DrawObjects插入到我创建的vector中,std::vector对象;有什么区别:objects.push_back(DrawObject(name,surfaceFile,xPos,yPos,willMoveVar,animationNumber));和objects.push_back(newDrawObject(name,surfaceFile,xPos,yPos,willMoveVar,animationNumber)); 最佳答案 第一个添加非指针对象,而第二个添加指针到vector。