问题标签 [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.
c++ - 转发声明一个标准容器?
是否可以在头文件中转发声明标准容器?例如,采用以下代码:
我希望能够做这样的事情:
这可以做到吗?
c++ - 如何将 std::string 的实例转换为小写
我想将 a 转换std::string
为小写。我知道这个功能tolower()
。然而,在过去我遇到过这个函数的问题,无论如何它都不是理想的,因为将它与 astd::string
一起使用需要遍历每个字符。
有没有 100% 有效的替代方案?
c++ - 插入 C++ std::map 时出现奇怪的错误
我正在尝试将一些值对插入到 std::map 中。在第一种情况下,我收到一个指向地图的指针,取消引用它并使用下标运算符分配一个值。IE
后来,当我尝试遍历集合时,返回的键/值对在所有情况下都包含 null 的 value 属性,但第一个 (map.begin()) 项除外。奇怪的是,如果我通过地图的插入功能进行插入,一切都很好,即:
为什么会这样?这两种方法在功能上不是等效的吗?我在下面粘贴了一些实际代码片段作为上下文
我完全没主意了。请问有人有什么建议吗?
c++ - 我应该使用什么来代替 sscanf?
我有一个 sscanf 解决的问题(从字符串中提取内容)。不过我不喜欢 sscanf ,因为它不是类型安全的,而且又旧又可怕。我想聪明一点,使用 C++ 标准库的一些更现代的部分。我应该改用什么?
c++ - std::queue 迭代
我需要迭代std::queue
。www.cplusplus.com 说:
默认情况下,如果没有为特定队列类指定容器类,则使用标准容器类模板双端队列。
那么我可以以某种方式到达队列的底层双端队列并对其进行迭代吗?
c++ - C++ valarray 与向量
我非常喜欢矢量。它们既漂亮又快速。但我知道存在这个叫做 valarray 的东西。为什么我要使用 valarray 而不是向量?我知道 valarrays 有一些语法糖,但除此之外,它们什么时候有用?
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 中的原始代码,并且发生了同样的事情。
任何帮助甚至线索都值得赞赏
c++ - std::map 上的哪些操作是线程安全的?
假设我有:
以下函数线程安全吗?
即我想拥有这个在许多线程之间共享的巨大只读映射;但我不知道即使搜索它是否是线程安全的。
一切都先写入一次。
然后,多个线程从中读取。
我试图避免锁定以使其尽可能快。(我知道,yaya 可能过早优化)
c++ - 如何使用 std::valarray 存储/操作连续的二维数组?
如何使用 astd::valarray
来存储/操作二维数组?
我想看一个二维数组的示例,其中元素通过行/列索引访问。像这样的伪代码:
一个如何初始化这样一个数组的例子也很好。
我已经知道 Boost.MultiArray、Boost.uBlas 和 Blitz++。
随意回答为什么我不应该在我的用例中使用 valarray。但是,我希望多维数组的内存是一个连续的(列 x 行)块。没有 Java 风格的嵌套数组。
c++ - C++中置换组合的库函数
什么是 C++ 中使用最广泛的现有库,可以提供 n 个元素中 k 个元素的所有组合和排列?
我不是在问算法,而是在问现有的库或方法。
谢谢。