问题标签 [stdlist]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - C++ 应用程序中的内存泄漏
我已经尝试了一千次来在这个片段中找到该死的内存泄漏,但我只是悲惨地失败了......我正在学习内存分配和这些东西,我永远无法制作一个完全免费的程序它的记忆还...
我正在调用一个 for 循环来分配 140 个 Contato_s 结构并将它们放入 Agenda std::list 中。然后我调用另一个 for 循环来使用 RemoverContato 和相应的代码删除所有 140 个联系人... Windows 不会报告单个 Kb 的空闲内存!
提前致谢 :)!
- 编辑
好的,这就是我试图破坏联系人的方式:
(Ofc 我总是得到“联系人 X 被删除”并且在那部分没有失败,所以理论上可以找到联系人)
c++ - std::list 线程安全
- 我有一个列表,其中一个线程只是执行 push_back,而其他线程偶尔会遍历列表并打印所有元素。在这种情况下我需要锁吗?
我有指向其他对象中元素的指针。安全吗?我知道向量会在需要更多空间时移动所有对象,因此指针将失效。
mylist.push_back(MyObj(1));
if(someCond)
{
_myLastObj = &mylist.back();
}
_myLastObj
是类型MyObj*
如果我使用了向量,则对象将被移动到不同的位置,并且指针将指向垃圾。清单安全吗?
c++ - 加速 C++ 以找到最长的回文
我正在练习 Koeing 加速 C++,并想验证我的答案。由于网上没有可用的解决方案,我想在这里发布并请专家对我的解决方案的看法。我不确定人们是否会喜欢我把它贴在这里。如果没有,请告诉我,我以后不会这样做。还要提一下,这不是家庭作业,纯粹是我希望将我的 C++ 技能提升到一个新的水平。
问题:编写一个程序来查找字典中的所有回文。接下来,找到最长的回文。
到目前为止我所做的-> 我已经定义了测试回文的函数,还将所有单词存储在一个列表中。我在下面发布了我的代码。
我被困在哪里: 我需要建议,我选择使用列表数据结构而不是向量是否好?其次,我被困在如何显示最长的单词。我可以显示最长的长度但不能显示最长的单词。
我在下面的尝试
c++ - 在 std::list 中查找
嗨,我从以下代码中收到编译错误。我无法弄清楚:
代码:
谢谢鲁奇
c++ - C++ 向量排序
这是关于使用 STL std::sort 函数进行排序背后的机制的一般问题。我读过一些关于排序的文章,一般来说,排序向量比排序链表更快。这对于结构/对象的向量和链表是否正确?对于结构的链表,我觉得只需修改索引即可轻松实现排序。另一方面,向量的排序似乎涉及物理地切换结构/对象数据的数据位置,因为它们是连续的(这是真的吗?)。在那种情况下,似乎对链表进行排序会更快。
编辑!!!:现在有图片:
所以我想这个问题更好用:对对象排序、对链表排序还是对向量排序更快(尽管这可能取决于对象的大小)?此外,链表的排序是否如 3) 所示完成,向量的排序是否如 2) 所示完成?
c++ - C++ 列表迭代器 reverse_iterator
我得到一段代码如下:
输出:
看起来在我定义了前向迭代器之后it
,如果我调用WILL NOTpush_front()
的位置。it
但是,在我定义 reverse_iterator 之后rit
,如果我调用push_back()
,rit
WILL 的位置会改变。
这应该被视为不一致吗?对我来说,其中一个移动而另一个保持不变对我来说真的没有任何意义。
提前致谢。:)
c++ - 容器超出范围和内存管理
假设我有这个:
当 xList 超出范围时,我知道容器应该调用列表中包含的对象的析构函数吗?首先,这是真的吗?
如果是这样,那么由于列表包含指向类 X 的指针,当 xList 超出范围时,不应该调用 X 的析构函数吗?从而释放 X 持有的任何内存?
c++ - 使用指针从 std::list 中删除项目
是否可以使用 .remove 并将对象作为指针从 std::list 中删除对象?
我对指针感到很困惑。例如,我有以下课程:
那有一个指向我的小行星对象的指针列表。由于它是一个指针,我假设我可以使用指针遍历它并删除它。
在我的主类中,我创建了一个 AsteroidGen 实例并填充列表并绘制它。这一切都很好。然后我尝试从列表中删除与我的子弹相撞的项目之一:
我尝试逐行浏览我的代码以查看出了什么问题,但列表项实际上并未在下一帧中删除。我可能没有正确使用指针,我仍然觉得它们很困难。
有人可以给我建议吗!告诉我是否需要添加更多代码,我认为这就足够了谢谢。
c++ - 删除多个列表指向的数据?
我有一个可能会出现在多个列表中的对象。
例如
潜在地,有许多对象将以相同的方式出现在两个列表中。我意识到智能指针会很容易做到,但称我为受虐狂——我更愿意弄清楚如何在没有它的情况下做到这一点。
目前,我正在尝试这种技术:
但它delete lista;
在运行时中断了我的等价物。希望那里的指针更聪明的人可以帮助我。提前致谢!
PS 我正在运行 Windows 7/MinGW。
c++ - 带有结构的列表映射(包含列表) - 无法通过映射访问结构内的列表
我启动了搜索引擎,但找不到我的问题的相应答案:
基本上我想要一个地图,每个条目都包含一个结构列表。一个结构本身包含 2 个std::string
变量和一个std::list<string>
.
尽管访问了结构中的列表,但一切都按预期工作。
一种方法(此处为:getRules)在必要时创建一个映射条目,并为其附加一个列表,并向其添加一个结构(此处为:Rule)元素。在此方法中,调用了另一个方法(此处为:getRuleParams),该方法应负责将元素添加到结构内的列表中。
在 getRuleParams 方法中,添加元素的列表可以通过 struct 元素正确访问。在“环绕”方法中,添加元素的列表也可以通过结构元素直接访问。
但是,如果我想访问结构的列表,或者更好的是列表元素,那么奇怪的事情就会发生。我发现地址发生了变化(结构,结构内的列表......)
您可以在我的代码产生的输出中看到(假设它编码正确)。
由于我是 C++ 新手,也许我错过了一些非常简单/必要的东西。它是否与一些被调用的复制构造函数有关,但为什么只使用指向所有“变量”的指针的行为相同?
我真的希望这里有人可以启发我。
我尽可能地简化/隔离了我的问题。(方法的签名必须是这样的,例如void*
,因为我依赖于其他功能)
请参阅下面的代码并提前致谢: