问题标签 [c++-standard-library]

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.

0 投票
5 回答
322 浏览

c++ - 了解 C++ 中的库函数

如果我想知道用标准 C++ 库编写的函数是如何工作的(不仅仅是 MSDN 描述)。我的意思是它如何分配、管理、释放内存并返回结果。您需要在哪里或需要知道什么才能理解这一点?

0 投票
41 回答
1072307 浏览

c++ - std::string 格式化,如 sprintf

我必须格式化std::string并将sprintf其发送到文件流中。我怎样才能做到这一点?

0 投票
2 回答
860 浏览

c++ - 寻找容器和内存池解决方案

在嵌入式程序中,我有一个屏幕对象,需要管理要显示的项目列表。初始项目列表将在屏幕加载时从一个简单的数据库中提取,并且该列表将通过“添加”和“删除”事件进行更新。此列表需要根据某些标准进行排序。我正在寻找可以帮助我完成此任务的容器类。此外,系统中没有动态内存,因此我需要一个空项目的内存池,我可以将其加载到容器中,并在完成项目后返回到空闲池。

有人知道 C++ 标准库或 Boost 中有什么合适的吗?或者也许是另一种解决方案?

0 投票
8 回答
112914 浏览

c++ - 迭代时从 std::set 中删除元素

我需要检查一组并删除符合预定义标准的元素。

这是我写的测试代码:

起初,我认为在迭代时从集合中删除一个元素会使迭代器无效,并且 for 循环中的增量将具有未定义的行为。尽管如此,我执行了这个测试代码并且一切顺利,我无法解释为什么。

我的问题: 这是标准集的定义行为还是此实现特定?顺便说一句,我在 ubuntu 10.04(32 位版本)上使用 gcc 4.3.3。

谢谢!

建议的解决方案:

这是从集合中迭代和擦除元素的正确方法吗?

编辑:首选解决方案

我找到了一个对我来说似乎更优雅的解决方案,即使它完全一样。

如果 while 内有多个测试条件,则每个测试条件都必须递增迭代器。我更喜欢这段代码,因为迭代器只在一个地方递增,使代码不易出错且更具可读性。

0 投票
7 回答
8610 浏览

c++ - std::string.resize() 和 std::string.length()

我对 C++ 比较陌生,但我仍在掌握 C++ 标准库。为了帮助从 C 转换,我想std::string使用 printf 样式格式化程序格式化 a。我意识到stringstream这是一种更类型安全的方法,但我发现自己发现 printf 样式更容易阅读和处理(至少目前是这样)。这是我的功能:

这行得通,有点。我不确定的几件事是:

  1. 我是否需要为空终止符腾出空间,还是没有必要?
  2. capacity()在这里调用正确的函数吗?我一直在想length()会返回 0,因为字符串中的第一个字符是 a '\0'

偶尔在将此字符串的内容写入套接字时(使用它的c_str()and length()),我在接收端弹出空字节,这引起了一些悲伤,但它们似乎不一致。如果我根本不使用此功能,则不会出现空字节。

0 投票
4 回答
314 浏览

c++ - 显示一个`std::map`

很早就宣布了一张地图:

现在我正在尝试显示地图的内容:

在 '!=' 标记和 '->' 标记之前收到错误“预期的主表达式。似乎无法理解我在这里犯的错误。有什么想法吗?

0 投票
2 回答
4144 浏览

c++ - Qt:Qt 类与标准 C++

大量的功能在标准 c++ 和 Qt 之间是重复的。在某些时候,这似乎是合乎逻辑的,但很多时候它看起来很愚蠢。就像我想做一门新的编程语言,学习我已经知道的东西。例如使用 QFile。

此外,如果我全部采用 Qt 方式并假设现在我想退出 Qt 框架,那么重写该代码将太乏味。OTOH 我喜欢 Qt,因为它为我提供了库,否则我将不得不像 webkit、数据库连接、dbus 等那样自己钓鱼。

你建议混合标准 C++ 还是纯 Qt 方式?

0 投票
1 回答
428 浏览

c++ - 如何在std :: map中找到每个节点的深度?

如果我构建自己的二叉树,那么我可以找到每个节点的深度。示例代码如下

但是想知道,既然 map 是一个 b-tree,是否可以为 a 写一些类似的东西std::map

0 投票
9 回答
12108 浏览

c++ - 两个`std::map`的交集

鉴于我有两个std::maps,说:

我想得到两张地图的交集,形式如下:

其中键是and 中的值,值是分别来自 and AB对值。有没有使用标准库的干净方法?AB

0 投票
6 回答
560 浏览

c++ - 是否 std::map在 C++ 中支持像结构这样的本机数据类型吗?

如何将键映射到本机数据类型,如结构?

我写了这个片段,但我无法编译它。您对如何解决它有任何想法吗?