草庐IT

STL_container_type

全部标签

c++ - 如果 malloc(STL 分配器等)请求分配 0 字节会发生什么

这个问题在这里已经有了答案:关闭11年前。PossibleDuplicate:whatdoesmalloc(0)return?它是否返回零指针?行为是否规范?STL分配器怎么样?我用谷歌搜索,但找不到我要找的答案。编辑:链接的问题没有解释STL分配器。我还有另一个相关问题。如果尝试释放零指针会发生什么情况?allocator.deallocate(0,1);

c++ - C++ 代码错误 "expected constructor, destructor, or type conversion before ‘(’ token ”和 "no matching function for call to ..."

真正尝试解决错误,仔细检查所有内容。请帮忙。c++新手,请多关照。头文件(.h)#ifndefGUARD_Optimized_quick_sort_h#defineGUARD_Optimized_quick_sort_h#include#include#includeusingnamespacestd;templateclassoptimized_quick_sort{public:optimized_quick_sort(vectorarray){this->array=array;}optimized_quick_sort(listarray){vectortemp(array.b

c++ - 如何实现STL容器中对象的快速释放?

TL/DR:Howcanalargestd::vectorachievesuchfastdeallocationwhencompiledwithreleasesettingsonVisualStudio2012RC?我写了一个类strung其行为类似于std::string作为练习,实现基本的复制和移动语义。classstrung{private:size_tlength_;char*data_;public://--------Constructors--------strung():length_(0),data_(nullptr){};strung(constchar*c_str

c++ - 比较 C++ STL 列表迭代器

我的应用程序中有一个C++STL对象列表,它是在启动时构建的,此后从未更改过;指向同一列表节点的两个独立迭代器是否总是比较相等? 最佳答案 是的。前向迭代器的要求之一是:C++1122.4.5/6:Ifaandbarebothdereferenceable,thena==bifandonlyif*aand*bareboundtothesameobject.标准容器上的所有迭代器(至少)是前向迭代器。 关于c++-比较C++STL列表迭代器,我们在StackOverflow上找到一个类似的

c++ - 提升精神 : how to convert basic types?

假设我有一个std::string属性,但为了便于解析,我想使用qi::int_或qi::double_.是否有一种简单的方法可以将转换作为语义操作进行?我试过这样的:std::stringstreamss;my_int_as_str=qi::int_[ref(ss)但这甚至无法编译。编辑-尝试使用下面sehe的回答#include#include#include#includenamespaceqi=boost::spirit::qi;namespacephx=boost::phoenix;intmain(intargc,char*argv[]){std::stringtest="1

c++ - STL 容器速度与数组

我刚刚开始从事一个速度非常重要的科学项目(HPC)。我目前正在设计数据结构。该项目的核心是双值的3D网格,用于求解偏微分方程。由于这里的速度可能比代码的简单性更受关注,我想知道与通常的C样式数组相比,STL的性能如何。在我的例子中,因为它是一个3D网格,我正在考虑a)一个具有线性索引的一维vectorb)一个包含3个vector的vector或c)一维c型数组或d)一个三维c型数组。我查找了较早的问题,但我只发现了有关构造/破坏的问题(这在这里并不重要,因为数据结构仅在程序启动时创建一次-快速索引和计算很重要)或不同STL的比较容器。感谢帮助 最佳答案

c++ - '*(<type> *) &x' 和 'x' 有什么区别?

有什么区别inti=123;intk;k=*(int*)&i;cout和inti=123;intk;k=i;cout它们都给出相同的输出,但有什么不同吗?(我在快速平方根反函数的Quake3代码中找到了第一个片段) 最佳答案 第三季度:floatQ_rsqrt(floatnumber){longi;floatx2,y;constfloatthreehalfs=1.5F;x2=number*0.5F;y=number;i=*(long*)&y;//evilfloatingpointbitlevelhackingi=0x5f3759df

c++ - 一种使用 STL 计算 std::string vector 中字符的方法?

虽然查找std::stringvector中的字符数量很简单,但我想知道是否有办法使用STL为您完成所有工作,而不是使用两个for循环,一个循环遍历vector,另一个循环遍历vector每个索引中的字符串。我尝试过使用其他STL函数(例如尝试以几种独特的方式使用std::for_each),但我所有的尝试都没有成功。intmain(void){intchars=0;std::vectorstr;str.push_back("Vector");str.push_back("of");str.push_back("four");str.push_back("words");for(int

c++ - 从 std::tuple<some_types...> 开始创建子元组

让我们假设一个std::tuple给出。我想创建一个新的std::tuple其类型是在[0,sizeof...(some_types)-2]中索引的类型.例如,假设起始元组是std::tuple.我想获得一个定义为std::tuple的子元组.我对可变参数模板很陌生。作为第一步,我尝试写一个struct负责存放不同类型的原件std::tuple目的是创建一个新的同类元组(如std::tuplenew_tuple)。templatestructtype_list;templatestructtype_list:publictype_list{typedefTtype;};template

C++ STL精通之旅:向量、集合与映射等容器详解

目录常用容器顺序容器向量vector构造尾接&尾删中括号运算符获取长度清空判空改变长度提前分配好空间代码演示运行结果关联容器集合set构造遍历其他代码演示运行结果​编辑映射map常用方法构造遍历其他代码演示1​编辑运行结果1代码演示2运行结果2 stringmap 代码演示3运行结果3 mp没赋初值,默认为0代码演示4运行结果4容器适配器栈stack常用方法代码演示1运行结果1vector也可以当栈来用代码演示2运行结果2队列queue常用方法代码演示运行结果优先队列priority_queue常用方法构造其他大顶堆代码演示1运行结果1 小顶堆代码演示2运行结果2修改堆顶元素代码演示3 运行结