问题标签 [std]

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 投票
4 回答
20732 浏览

c++ - std::vector 向下调整大小

resize(n)C++ 标准似乎没有说明, withn < size()或对容量的副作用 clear()

push_back它确实对和pop_back- O(1)的摊余成本做出了声明

我可以设想一个实现通常的容量更改 ala CLRS 算法(例如,放大时加倍,减小时减半size to < capacity()/4)。(Cormen Lieserson Rivest Stein)

有没有人有任何实施限制的参考?

0 投票
2 回答
1408 浏览

c++ - 我可以将 iostream 头文件包含到自定义命名空间中吗?

0 投票
7 回答
3634 浏览

c++ - 我在标准库中遇到编译错误。这是怎么回事?

我正在尝试编译一个未指定的软件,并且在标准头文件中出现错误,例如stdio.h. 错误大多是未声明的标识符,例如_In_. IntelliSense 发现它们的定义很好。我应该在什么大方向上寻找造成这种情况的原因?

补充:例如,在一个 cpp 文件stdio.h中包含第一个文件 - 在它之前没有我可以看到的定义。不使用预编译头文件。我安装的其他东西编译得很好。

0 投票
4 回答
595 浏览

c++ - 为什么这种转换不起作用?

下面是我的功能。我称之为

和 RHS = "15\t// 评论"

它返回假,我除了 v=15 的真。我该如何解决?

0 投票
1 回答
1105 浏览

c++ - 如何将 std::dec/hex/oct 放入查找数组

我有这个通用字符串到数字的转换:

我想将开关盒变成一个精细的查找数组,如下所示:

这会产生: *error C2440: 'initializing' : cannot convert from 'std::ios_base &(__cdecl )(std::ios_base &)' to 'std::ios_base'

这也不起作用:

我得到:错误 C2234:'arr':引用数组是非法的

那么,有没有办法解决这个问题呢?

0 投票
4 回答
3723 浏览

c++ - std::map 之间有区别吗和 std::map?

据我了解, std::map 中的值对中的键一旦插入就无法更改。这是否意味着使用 const 键模板参数创建映射无效?

0 投票
6 回答
37575 浏览

c++ - C++ std::set 线程安全吗?

我对 std::set 的线程安全有疑问。

据我所知,我可以迭代一个集合并添加/删除成员,这不会使迭代器无效。

但考虑以下情况:

  • 线程“A”迭代一组 shared_ptr<Type>
  • 线程“B”偶尔会向这个集合添加项目。

我在程序运行时遇到了段错误,我不确定为什么会发生这种情况。缺乏线程安全是原因吗?

0 投票
4 回答
111422 浏览

c++ - 对 abs(double) 的模棱两可的重载调用

我有以下 C++ 代码:

make炸毁:

也很有趣:

如何指定编译器需要调用 cmath.h 中可以处理浮点数的 abs()?

编译器信息(不确定这是否重要):

0 投票
5 回答
4175 浏览

c++ - 覆盖 std 函数

我想覆盖 std 函数的行为,比如 std::time。是否可以调用 std::time 并通过我的自定义函数进行路由?

0 投票
6 回答
7292 浏览

c++ - 为什么在一个大的 std::list 上迭代这么慢?

正如标题所暗示的,我的程序有问题,我使用 std::list 作为堆栈并迭代列表的所有元素。当列表变得非常大时,该程序花费的时间太长了。

有人对此有很好的解释吗?它是一些堆栈/缓存行为吗?

(通过将列表更改为 std::vector 和 std::deque 解决了这个问题(顺便说一句,这是一个了不起的数据结构),一切都突然变得更快了)

编辑:我不是傻瓜,我不会访问列表中间的元素。我对列表所做的唯一一件事就是在末尾/开头删除/添加元素并遍历列表的所有元素。而且我总是使用迭代器来迭代列表。