ICode9

精准搜索请尝试: 精确搜索
  • c – std :: vector内存分配问题2019-07-28 21:17:02

    我在尝试删除指针向量时遇到问题: std::vector<float*> *v; v = new std::vector<float*>; v->assign(2, new float[2]); for (int i = 0; i < 2; ++i) { delete[] v->at(i); } delete v; 我正在删除整个向量中的每个元素,但我仍然得到一个断言.你能告诉我我做错了什么吗? 先

  • C如何从复杂的字符串中获取整数2019-07-28 10:12:34

    我有几个字符串,每个字符串包含一个字和几个整数(一个字符串是整行): Adam 2 5 1 5 3 4 John 1 4 2 5 22 7 Kate 7 3 4 2 1 15 Bill 2222 2 22 11 111 如您所见,每个单词/数字都用空格分隔.现在,我想将这些数据加载到地图中,其中word(name)将成为关键,值将是行中数字的向量.我已经

  • c – 如何在不复制的情况下从C数组构造std :: vector或boost ::数组?2019-07-27 22:09:38

    给定一个char数组的指针,是否可以从中构造一个std :: vector或boost :: array,并避免内存复制? 提前致谢!解决方法:因为向量拥有自己的分配器和存储器,所以没有办法(对于非原始元素,move_iterators构造可能会有所帮助). 所以假设目标是得到一个真正的std :: vector< char>&对于现有的

  • c – 使用push_back将向量放入向量>2019-07-27 14:15:27

    我有一个std :: vector< vector< double>>我想填写一个功能. 我需要在我的程序中稍后为某些计算存储一些3维坐标. 我的问题是如果我这样做: //in classdefinition std::vector<std::vector<double>> data; myFunc() { std::vector<double> temp; temp.pus

  • C循环遍历对象并获取其地址2019-07-27 09:06:16

    我有以下代码片段: vector<shape*> triangle_ptrs; for (auto x : triangles) triangle_ptrs.push_back(&x); triangle是一个派生自shape类的类,三角形是一个三角形的std :: vector: std::vector<triangle> triangles; 我需要保存三角形的地址,但是当我遍历集合时,它们的地址

  • c – 直接将std :: map插入std :: vector2019-07-27 01:05:21

    对不起,如果问题非常简单. 我有一张地图矢量: typedef map<char, int> edges; typedef vector<edges> nodes; nodes n; 现在让我们说我想推动玩具优势.我尝试了不同的东西,我的工作是什么 edges e; //declare an edge e['c'] = 1; //initialize it n.push_back(e);

  • c – std :: multimap和std :: vector之间的交叉?2019-07-26 19:08:06

    我正在寻找一个像std :: multimap一样工作的STL容器,但是对随机的第n个元素有不断的访问时间.我需要这个,因为我在内存中有这样的结构std :: multimap有很多原因,但是存储在其中的项必须在列表框中呈现给用户.由于数据量很大,我正在使用带有虚拟项目的列表框(即列表控制轮询第X行的

  • c – 如何从std :: vector>中删除重复项2019-07-26 11:16:42

    如何从中删除重复值 std::vector <std::pair<UnicodeString, UnicodeString> > myVect; 是否有任何内置函数或我需要为此编写自定义代码解决方法:假设(a)std :: set不是你想要的[你想在你的std :: vector中允许重复元素,只是稍后删除它们]和(b)你不希望改变顺序你的std :: vector

  • c – 将类的std :: vector作为属性同一个类是一个很好的设计选择吗?2019-07-26 03:06:48

    我的问题陈述如下.存在“域”的概念,其由许多“子域”组成.现在,这些子域本身就是域名.以下是我可以做的事情的基本方法.我可以使用auto_ptr或其他东西,但现在就让它离开. class Domain { private: Domain* subdomains; } 但是,我能够编译并运行以下程序,我认为它做了同样的

  • 如何在C中使用for循环初始化字符串向量的向量?2019-07-25 11:05:35

    我有初始化以下向量的问题: int main() { ... int size = classData.size(); vector<vector<string>> arrayClass[size][3]; // <-- problem for(int i = 0 ; i < classData.size(); i++) { for(int j = 0 ; j < 3; j++) {

  • c – 使用`for(auto&e:cont)`是否安全?向量有什么问题?2019-07-25 06:06:40

    我发现for(auto& e:cont)有时用于代替普通(auto e:cont)(其中cont是一些容器,例如std :: vector).到目前为止,我找到了两个原因: >参考应避免复制对象(执行速度更快) >某些类可能禁止制作副本(例如std :: thread) 经过几次测试,我可以看到: > for(auto& e:cont)适用于任何std :: vector<

  • c – 哪个矢量和地图使用更少的内存(大数据集和未知大小)2019-07-25 01:07:33

    我想知道哪个容器在std :: map和std :: vector之间使用较少的内存和一大组数据. 大量帖子谈论效率,我的优先级不是效率而是内存消耗.所以,如果我们不知道我们的数据的数量(在我的情况下可以超过12,000,000个条目,每个条目是一个20个字符的字符串),地图真的比矢量好吗?解决方法:取决

  • C – 通过指针访问向量元素的安全性2019-07-25 00:08:32

    在我的一个C项目中,我使用一个向量来保存一堆结构,这些结构包含一些简单游戏的元素(即:tic-tac-toe,坐标,x vs o等).即: struct gameMove { int x; int y; int player; int order; }; 每次在单个游戏中,每当玩家进行移动时(即:放置x或o),信息将通过push_back()存储在向量中,

  • c – 使用重复模式初始化std :: vector2019-07-25 00:07:16

    我目前正在使用OpenGL,创建一个“纹理缓存”来处理加载图像并使用OpenGL缓冲它们.如果无法加载图像文件,则需要回退到我在构造函数中硬编码的默认纹理. 我基本上需要做的是创建一个统一颜色的纹理.这不是太难,它只是一个像素*颜色通道的数组. 我正在使用std :: vector来保存初始数

  • c – 矢量大小不随着变量的增加而增加2019-07-24 18:08:47

    我有以下脚本在特定基础中创建所有可能的点: int main(){ int base; cout << "Enter Base: "; cin >> base; int dimension; cout << "Enter Dimension: "; cin >> dimension; //This creates all possible numbers vector<do

  • C使用向量填充构造函数的奇怪行为2019-07-24 18:05:51

    我正在经历一些使用构造函数填充向量值的“奇怪行为”. 所以,我有这个块类,只要调用构造函数,就会填充这个名为blockList的静态向量. static std::vector<Block*> blockList; Block::Block(float x, float y) : RectangleShape(sf::Vector2f(WIDTH, HEIGHT)) { blockList

  • c – 将const std :: vector转换为unsigned char *?2019-07-24 15:05:34

    为C库编写C包装器.在库中有一个函数接受缓冲区作为unsigned char *.由于使用C我将我的实际缓冲区存储在std :: vector< char>中,而且在包装器类中我还添加了const,因为所讨论的缓冲区是一个输入缓冲区而且它不会被修改.但是我的代码没有编译,演示: #include <stdio.h> #include <ve

  • c – 如何在C函数中使用std :: vector2019-07-23 18:15:20

    C函数期望缓冲区数组在运行时在范围内.例如 char values[x][y] C函数将填充缓冲区 我想使用动态数组,所以我不必硬编码维度在这种情况下如何使用std :: vector? 为了清楚起见,我正在使用C. C函数包含在我无法修改的库中.解决方法:如果您只想将封装在std :: vector中的动态数组传递

  • c – 填充std :: vector缓冲区的最佳方法2019-07-23 15:14:49

    此缓冲区应包含相等长度的插槽(本例中为3个)(本例中为20个) 缓冲区必须具有连续的内存,以便它可以以非const方式传递给C函数. const int slot_size = 20; std::vector<char> vbuffer; 此函数接受一个字符串,复制到所需大小的临时缓冲区,然后将其复制到vbuffer void prepBuffer(

  • c – std :: std :: weak_ptr和std :: find的向量2019-07-23 12:17:45

    我目前正在尝试用std :: shared_ptr和std :: weak_ptr替换我的代码的某些部分.在很多部分我都有std ::的std :: weak_ptrs(以前是原始的ptrs),并使用std :: find来查找数组中的某个指针.这不适用于弱指针,因为它们由于各种原因不实现==运算符.我必须坚持使用std :: weak_ptr来避免

  • C:如何检测向量中的重复项并打印一份副本?2019-07-23 06:07:04

    我是C的新手.我想知道如何在向量中找到重复的字符串并打印出该字符串的一个副本.例如,如果我有<“cat”,“dog”,“dog”,“bird”,>它会打印出猫,狗,鸟.我已经对我的向量进行了排序,并使用了adjacent_find函数并迭代了向量(因为我必须找到是否有任何单词重复).我的代码检测到重复,

  • c – 将std :: sets合并到std :: vector中2019-07-22 21:05:49

    考虑以下. 我有两个std :: sets,并希望按排序顺序将它们合并到std :: vector中. 哪种方法最有效? 我做了类似的事情,但我认为必须有更好的方法. std::set<int> S1; std::set<int> S2; // .... // Initialization of sets // .... std::vector V; std::set<int>::iterator iter;

  • c – 编译器错误C4244:’初始化’:从’__int64’转换为’int’,可能导致数据丢失2019-07-22 20:01:02

    我试图在std :: vector上使用std :: cound,如下所示. int count = std::count( stdVector.begin(), stdVector.end(), "element" ); 在Windows上,它提供以下编译器错误. 错误C4244:’初始化’:从’__int64’转换为’int’,可能导致数据丢失 如果我更改代码如下,则Windows编译器不会

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有