stdvector相关内容

在clang中对std :: vector(和其他容器)进行边界检查?

在clang中,是否有一种方法可以启用对[]对std :: vectors和其他STL容器的访问的边界检查,最好仅在调试模式下进行构建? 我只是花了几个小时来寻找一个细微的错误,该错误实际上是由于我们访问了std :: vector的末尾而引起的。当检测到错误时,它不需要做任何聪明的事情,只需将其捕获在调试器中,这样我就可以找出错误发生的地方并在代码中进行修复。 除了要避免的“创建从s ..
发布时间:2020-10-01 22:15:33 其他开发

错误:没有匹配的函数可以调用“ std :: vector< std :: vector< int>> ::: push_back(std :: vector&std :: __ cxx11 :: basic_string< char>&))”

我正在尝试从我的主管调试此代码,并且我是C ++的新手。 我发现了一些类似的 没有匹配的函数来调用 问题,这使我知道问题可能是什么,但无法解决。 我在错误消息和相关功能下方列出了我的想法。 错误消息: 在函数'int main(int,char **)'中: distanceMatrixToSageGraph.c:104:43:错误:没有匹配的函数可以调用 'std :: ..
发布时间:2020-09-28 00:31:14 C/C++开发

创建可变数量的std :: threads

我有一个线程程序,必须在多台计算机上运行。它们每个都有不同数量的受支持线程。在我开发程序的计算机中,有4个线程,因此我对要创建的4个线程进行了硬编码。我想使这种情况因情况而异。我想使用std :: thread :: hardware_concurrency来获取线程数,并将工作划分为可用的线程数。这可能吗 ? 创建的硬编码线程是: // const无符号int SIZE = std ..
发布时间:2020-09-28 00:23:05 C/C++开发

将std :: map直接插入std :: vector

对不起,如果这个问题很琐碎。 我有一个地图矢量: typedef map边缘 typedef vector节点 个节点n; 现在,假设我想推动玩具的发展。我尝试了不同的事情,而我的工作是 edges e; //声明边 e [’c’] = 1; //将其初始化 n.push_back(e); //将其推到向量 ..
发布时间:2020-09-27 22:13:06 C/C++开发

从std :: vector接管内存

我使用一个处理大量数据的外部库。数据由原始指针加上长度传递。该库不声明指针的所有权,而是在处理完数据后调用提供的回调函数(具有两个相同的参数)。 数据已准备就绪通过使用 std :: vector 方便,我宁愿不放弃这种便利。复制数据完全是不可能的。因此,我需要一种方法来“接管” std :: vector 所拥有的内存缓冲区,然后在回调中将其释放。 / p> 我当前的 ..
发布时间:2020-09-27 21:37:11 C/C++开发

向量< char> VS vector< bool>在C ++ 11中

为什么我们应该使用 vector 而不是 vector ? vector 更快的原因是什么? 解决方案 std :: vector 是 std :: vector 的专业化,主要是为了提高空间效率(值得商))。但是,的行为与常规 std :: vector 相似但不相同。这主要归因于 std :: vector ..
发布时间:2020-09-27 18:58:48 C/C++开发

自动检查std :: vector中的边界

在积极开发使用 std :: vector 的类的过程中,经常会发生索引超出范围的情况。 (有关实际示例,请参见此代码审查问题。)使用 operator [] ,这将导致未定义的行为。不过,与编写 .at()相比, [] 语法更易于阅读,更方便。 因此,我想使用 [] 运算符编写代码,但同时启用了边界检查。测试代码后,应该很容易删除边界检查。 我在考虑以下代码: util :: ..
发布时间:2020-09-27 04:24:52 C/C++开发

矢量载体,备用

假设我想将 int 的二维矩阵表示为向量的向量: std :: vector > myVec; 内部尺寸为常数,例如5,外部尺寸小于或等于 N 。为了最大限度地减少重新分配,我想保留空间: myVec.reserve(N); 内部向量的大小是多少?这纯粹取决于实现吗?这如何影响数据的空间局部性?由于内部 ..
发布时间:2020-09-27 03:18:18 C/C++开发

初始化std :: vector< unsigned int>带有连续无符号整数的列表

我想使用一种特殊的方法来初始化 std :: vector ,在我用作参考的C ++书中对此进行了描述(德语书Ulrich Breymann的“ Der C ++程序员”,以防万一。该书中有一个有关STL序列类型的部分,特别是指 list , vector 和 deque 。在本节中,他写道,有两种特殊的此类序列类型的构造函数,即,如果 X 引用这种类型,则 ..
发布时间:2020-09-27 02:59:50 C/C++开发

std :: vector作为模板函数参数

我想创建一个将std :: vector引用作为参数的类方法,并且希望将其用于不同类型的数据。 该函数应该看起来像: void some_function(const std :: vector& vect){//向量} 我想使用它,例如: std :: vector v1; some_function(v1); std :: vect ..
发布时间:2020-09-27 02:25:35 C/C++开发

在C ++中,检查std :: vector< string>是否包含一定值

是否有任何内置函数告诉我我的向量是否包含某个元素 例如 std :: vector v; v.push_back(“ abc”); v.push_back(“ xyz”); if(v.contains(“ abc”))//我正在寻找一个这样的功能,是否有任何 //这样的功能,或者我需要遍历整个矢量? 解决方案 您可以使用 std :: ..
发布时间:2020-09-27 00:36:32 C/C++开发

在C ++中返回std :: vector的有效方法

在函数中返回std :: vector时,要复制多少数据,以及将std :: vector放在免费存储中(在堆上)并返回指针的优化有多大? : std :: vector * f() { std :: vector *结果=新std :: vector(); / * 将元素插入结果 * / 返回结果; } 比: 更有效 std :: vector f ..
发布时间:2020-09-27 00:28:41 C/C++开发

哪个更好:保留向量容量,预先分配大小或循环回退?

我有一个函数,该函数将指向char数组和段大小的指针作为输入参数,并调用另一个需要 std :: array 的函数。 。想法是将输入的char数组“切成”相等的部分,并形成字符串数组。 输入的char数组格式是以下几个较小的数组(或字符串)确定大小,并置在一起。尽管它们可能是零,但并不假定它们是零终止的。段大小5和元素数量10的示例: char k ..
发布时间:2020-09-26 22:56:32 C/C++开发