草庐IT

vector_tostr

全部标签

c++ - 使用 Boost 从 C++ 中的样本 vector 计算平均值和标准差

有没有办法使用Boost计算包含样本的vector的均值和标准差??还是我必须创建一个累加器并将vector输入其中? 最佳答案 不知道Boost有没有更具体的功能,但是你可以用标准库来做。给定std::vectorv,这是天真的方式:#includedoublesum=std::accumulate(v.begin(),v.end(),0.0);doublemean=sum/v.size();doublesq_sum=std::inner_product(v.begin(),v.end(),v.begin(),0.0);doubl

c++ - 为什么 libc++ 的 vector<bool>::const_reference 不是 bool?

第23.3.7节类vector[vector.bool],第1段指出:templateclassvector{public://types:typedefboolconst_reference;...但是这个程序在使用libc++时编译失败:#include#includeintmain(){static_assert(std::is_same::const_reference,bool>{},"?");}此外,我注意到C++标准在本规范中一直保持一致,直至C++98。我进一步指出,自libc++首次引入以来,libc++一直没有遵循此规范。这种不符合项的动机是什么?

c++ - 从 vector 中删除元素

我想使用删除方法从vector中清除一个元素。但这里的问题是,不能保证元素在vector中只出现一次。它可能出现多次,我需要清除所有这些。我的代码是这样的:voiderase(std::vector&myNumbers_in,intnumber_in){std::vector::iteratoriter=myNumbers_in.begin();std::vector::iteratorendIter=myNumbers_in.end();for(;iter!=endIter;++iter){if(*iter==number_in){myNumbers_in.erase(iter);}

c++ - 如何使用迭代器在 vector 中导航? (C++)

目标是访问字符串vector的“第n个”元素,而不是[]运算符或“at”方法。据我了解,迭代器可用于在容器中导航,但我以前从未使用过迭代器,而且我正在阅读的内容令人困惑。如果有人能给我一些关于如何实现这一目标的信息,我将不胜感激。谢谢。 最佳答案 您需要使用begin和endvector的方法类,它返回分别引用第一个和最后一个元素的迭代器。usingnamespacestd;vectormyvector;//avectorofstings.//pushsomestringsinthevector.myvector.push_back

c++ - 如何获取字符串 vector 中某个元素的位置,将其用作整数 vector 中的索引?

我正在尝试获取stringsvector中元素的索引,以将其用作另一个int类型vector中的索引,这可能吗?例子:vectorNames;vectorNumbers;...//conditiontocheckwhetherthenameexistsornotif((find(Names.begin(),Names.end(),old_name_))!=Names.end()){//ifyescout>name;replace(Names.begin(),Names.end(),old_name_,name);}现在我想获取old_name在Namesvector中的位置,以使用它来

c++ - 如何在不循环的情况下将数组的内容复制到 C++ 中的 std::vector?

我有一个值数组,这些值从程序的不同部分传递给我的函数,我需要存储这些值以供以后处理。因为我不知道在处理数据之前我的函数会被调用多少次,所以我需要一个动态存储结构,所以我选择了一个std::vector。我不想对push_back的所有值单独执行标准循环,如果我可以使用类似于memcpy的东西将它们全部复制,那就太好了。 最佳答案 这里有很多答案,几乎所有人都能完成工作。但是有一些误导性的建议!以下是选项:vectordataVec;intdataArray[]={1,2,3,4,5,6,7,8,9,10};unsigneddataA

c++ - std::vector 元素是否保证是连续的?

我的问题很简单:std::vector元素是否保证是连续的?换句话说,我可以将指向std::vector的第一个元素的指针用作C数组吗?如果我没记错的话,C++标准并没有做出这样的保证。但是,std::vector要求是,如果元素不连续,几乎不可能满足这些要求。有人可以澄清一下吗?例子:std::vectorvalues;//...fillupvaluesif(!values.empty()){int*array=&values[0];for(inti=0;i 最佳答案 这在C++98标准中被遗漏,但后来作为TR的一部分添加。即将发

c++ - 在 C++ 中,从函数返回 vector 仍然是不好的做法吗?

短版:在许多编程语言中,返回大型对象(例如vector/数组)很常见。如果类具有移动构造函数,这种风格现在在C++0x中是否可以接受,还是C++程序员认为它很奇怪/丑陋/可憎?长版:在C++0x中,这仍然被认为是不好的形式吗?std::vectorBuildLargeVector();...std::vectorv=BuildLargeVector();传统版本如下所示:voidBuildLargeVector(std::vector&result);...std::vectorv;BuildLargeVector(v);在较新的版本中,从BuildLargeVector返回的值是一个

c++ - 数组与 vector : Introductory Similarities and Differences

C++中的数组和vector有什么区别?差异的示例可能包括库、象征意义、能力等。数组Arrayscontainaspecificnumberofelementsofaparticulartype.Sothatthecompilercanreservetherequiredamountofspacewhentheprogramiscompiled,youmustspecifythetypeandnumberofelementsthatthearraywillcontainwhenitisdefined.Thecompilermustbeabletodeterminethisvaluewh

c++ - 如何从 std::vector<char> 构造 std::string?

没有(显而易见的)首先构建一个C风格的字符串,然后使用它来创建一个std::string,是否有更快/替代/“更好”的方法来从字符vector初始化字符串? 最佳答案 嗯,最好的方法是使用下面的构造函数:templatestring(InputIteratorbegin,InputIteratorend);这会导致类似:std::vectorv;std::stringstr(v.begin(),v.end()); 关于c++-如何从std::vector构造std::string?,我们