问题标签 [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 投票
3 回答
25204 浏览

c++ - 转发声明一个标准容器?

是否可以在头文件中转发声明标准容器?例如,采用以下代码:

我希望能够做这样的事情:

这可以做到吗?

0 投票
27 回答
1125000 浏览

c++ - 如何将 std::string 的实例转换为小写

我想将 a 转换std::string为小写。我知道这个功能tolower()。然而,在过去我遇到过这个函数的问题,无论如何它都不是理想的,因为将它与 astd::string一起使用需要遍历每个字符。

有没有 100% 有效的替代方案?

0 投票
3 回答
3424 浏览

c++ - 插入 C++ std::map 时出现奇怪的错误

我正在尝试将一些值对插入到 std::map 中。在第一种情况下,我收到一个指向地图的指针,取消引用它并使用下标运算符分配一个值。IE

后来,当我尝试遍历集合时,返回的键/值对在所有情况下都包含 null 的 value 属性,但第一个 (map.begin()) 项除外。奇怪的是,如果我通过地图的插入功能进行插入,一切都很好,即:

为什么会这样?这两种方法在功能上不是等效的吗?我在下面粘贴了一些实际代码片段作为上下文

我完全没主意了。请问有人有什么建议吗?

0 投票
5 回答
29995 浏览

c++ - 我应该使用什么来代替 sscanf?

我有一个 sscanf 解决的问题(从字符串中提取内容)。不过我不喜欢 sscanf ,因为它不是类型安全的,而且又旧又可怕。我想聪明一点,使用 C++ 标准库的一些更现代的部分。我应该改用什么?

0 投票
10 回答
176325 浏览

c++ - std::queue 迭代

我需要迭代std::queue。www.cplusplus.com 说:

默认情况下,如果没有为特定队列类指定容器类,则使用标准容器类模板双端队列。

那么我可以以某种方式到达队列的底层双端队列并对其进行迭代吗?

0 投票
9 回答
59879 浏览

c++ - C++ valarray 与向量

我非常喜欢矢量。它们既漂亮又快速。但我知道存在这个叫做 valarray 的东西。为什么我要使用 valarray 而不是向量?我知道 valarrays 有一些语法糖,但除此之外,它们什么时候有用?

0 投票
3 回答
239 浏览

c++ - VC 仅在第一次调用时选择了错误的 operator<< 重载。漏洞?

我花了一些时间删除所有不流畅的代码,这是我的问题。

--- 文件.h ---

--- 文件.cpp ---

--- main.cpp ---

这是使用cl和选项构建/D "WIN32" /D "_UNICODE" /D "UNICODE"并运行后的输出文件

--- test.txt ---

基本上发生的情况是第一次operator<<调用main绑定到成员方法

而第二个(正确)绑定到

从而给出不同的输出。

如果我执行以下任何操作,则不会发生这种情况:

  • 排队File::CreateOutput
  • DataOutput用非模板更改Element=char
  • *output;在第一次operator<< 调用之前添加

我认为这是不受欢迎的编译器行为是否正确?

对此有什么解释吗?

哦,我现在正在使用 VC7 来测试这个简化的代码,但是我已经尝试了 VC9 和 VC8 中的原始代码,并且发生了同样的事情。

任何帮助甚至线索都值得赞赏

0 投票
5 回答
20930 浏览

c++ - std::map 上的哪些操作是线程安全的?

假设我有:

以下函数线程安全吗?

即我想拥有这个在许多线程之间共享的巨大只读映射;但我不知道即使搜索它是否是线程安全的。


一切都先写入一次。

然后,多个线程从中读取。

我试图避免锁定以使其尽可能快。(我知道,yaya 可能过早优化)

0 投票
4 回答
12313 浏览

c++ - 如何使用 std::valarray 存储/操作连续的二维数组?

如何使用 astd::valarray来存储/操作二维数组?

我想看一个二维数组的示例,其中元素通过行/列索引访问。像这样的伪代码:

一个如何初始化这样一个数组的例子也很好。

我已经知道 Boost.MultiArray、Boost.uBlas 和 Blitz++。

随意回答为什么我不应该在我的用例中使用 valarray。但是,我希望多维数组的内存是一个连续的(列 x 行)块。没有 Java 风格的嵌套数组。

0 投票
5 回答
24803 浏览

c++ - C++中置换组合的库函数

什么是 C++ 中使用最广泛的现有库,可以提供 n 个元素中 k 个元素的所有组合和排列?

我不是在问算法,而是在问现有的库或方法。

谢谢。