stl 相关问题

标准模板库(STL)是通用容器,迭代器,算法和函数对象的C ++库。当C ++被标准化时,STL的大部分被采用到标准库中,并且标准库中的这些部分有时也被错误地统称为“STL”。


我应该使用哪种数据类型作为STL映射的键?

我正在创建一个程序,该程序从.csv文件读取一些记录并将其存储在地图中。我的密钥应该具有两个属性,年份和月份。但是在某些情况下,我被要求打印...

回答 1 投票 0

将不同的值输入到集合中,而无需使用额外的变量(C ++)

我想在不使用额外变量的情况下将值存储到集合中。 int n,x; set s; cin >> n; for(int i = 0; i > x; s.insert(x);}这就是我一直在做的... ] >>

回答 2 投票 0

我如何使用SFINAE来区分MyMap,std :: map和std :: unordered_map?

我想制作一个可以使用任何地图实现的结构。我们称之为MapHolder。当前,它看起来像这样:template class MapType> struct ...

回答 1 投票 0

如何更改默认字符串比较?

如何按此特定顺序对字符串向量进行排序:对字符串的字长按字典顺序进行比较时取模值3(前数字,下,上)我的代码:#include ...

回答 1 投票 0

使用struct作为std :: map键的问题

我的代码是这样的:struct Info {字符串名;诠释分数; bool运算符

回答 1 投票 0

没有匹配函数来调用'std :: vector> :: push_back(char&)'

我已经声明了字符串向量,并且还声明了具有某些值的字符串变量。当我尝试将我的字符串变量的每个字符都推回字符串向量时。我收到一个错误。如果我...

回答 1 投票 -2

用不同的分隔符分割字符串

具有以下类型的输入:添加名称,品种,出生日期,疫苗接种数,照片(例如,添加嘘声,约克夏犬,2017年1月13日,7,boo puppy.jpg)我想分割此字符串以获取我的。 ..

回答 2 投票 0

用不同的分隔符分割字符串

具有下一种输入类型:添加名称,品种,出生日期,疫苗接种数,照片(例如,添加嘘声,约克夏犬,2017年1月13日,7,嘘嘘puppy.jpg)我想分割此字符串以获取我的。 ..

回答 2 投票 0

如何仅使用第二个值从集合中找到一对?

我只想使用第二个元素来查找对,第一个元素可以是任何东西,而且所有第二个元素都是唯一的。使用std :: find_if进行代码,但这需要线性时间设置

回答 1 投票 2

带有自定义键的C ++映射

我具有带有'KeyValueMap的c ++映射的自定义键;类CustomKey {public:字符串key1; int key2; ...

回答 2 投票 0

混淆std :: vector的emplace_back

我试图了解emplace_back方法,希望它能提高性能。对于一个简单的类:class Widget {public:Widget(Widget && w){cout <

回答 1 投票 1

错误:与'operator不匹配>>

在代码中有两个映射。一个存储对和另一个存储,其中Values是具有5个变量的类,其数据类型为string,int,string,int,int。但是在插入第二个映射期间,我遇到错误g ++ ...

回答 3 投票 6

为什么整数比较比字符串比较快?

在几本书中,我发现有关避免使用字符串进行值比较(尤其是在循环中)的注释,因为字符串比较慢得多(使用std :: string)。但是,为什么呢?是...

回答 5 投票 13

用于选择和删除随机项目的STL容器?

我正在实现的算法具有以下结构:如果C不为空,如果e上的某些条件在C上添加了一些新条目(我不在乎,否则...],则从C中选择一个随机条目e)[

回答 3 投票 0

为什么在对向量包围的向量上使用.pushback时出现重叠错误

我正在尝试创建一个散列表,在一个结构构成的向量中包含一个向量。 v [1] .push_back(value);它给我一个错误:错误C2664:'void std :: vector >:...

回答 1 投票 0

为什么我擦除其他字符时最后一个字符加倍,并且如何防止呢?

我有以下代码:auto rrr =“我的混合字符串”; rrr.erase(std :: remove_if(std :: begin(rrr),std :: end(rrr),[](char const c){return c =='m';}))); std :: cout << [] >> 您使用了错误的erase重载。您正在调用erase()重载,该重载使用单个迭代器参数,该迭代器是从字符串中删除的单个字符的迭代器。 如果要删除字符串末尾的所有内容,也请传递end()。 rrr.erase( /* What you already have */, rrr.end());

回答 1 投票 0

删除在C ++ 17中分配给堆的向量的规范方法

我已经搜索了堆栈溢出,但是以前的答案似乎已经过时,或者不是很清楚。我的问题如下:我想在向量中存储大量数据。 ...

回答 1 投票 0

[当进行反向迭代时使用擦除操作删除向量的第一个元素时,这是由于超出范围导致的崩溃

崩溃可以通过以下代码重现。 #include #include 使用命名空间std; int main(){vector tests; tests.push_back(1);测试....

回答 1 投票 0

STL地图合成

#include #include #include #include #include 使用命名空间std; int main(){std :: map

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.