问题标签 [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.
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)
有没有人有任何实施限制的参考?
c++ - 我在标准库中遇到编译错误。这是怎么回事?
我正在尝试编译一个未指定的软件,并且在标准头文件中出现错误,例如stdio.h
. 错误大多是未声明的标识符,例如_In_
. IntelliSense 发现它们的定义很好。我应该在什么大方向上寻找造成这种情况的原因?
补充:例如,在一个 cpp 文件stdio.h
中包含第一个文件 - 在它之前没有我可以看到的定义。不使用预编译头文件。我安装的其他东西编译得很好。
c++ - 为什么这种转换不起作用?
下面是我的功能。我称之为
和 RHS = "15\t// 评论"
它返回假,我除了 v=15 的真。我该如何解决?
c++ - 如何将 std::dec/hex/oct 放入查找数组
我有这个通用字符串到数字的转换:
我想将开关盒变成一个精细的查找数组,如下所示:
这会产生: *error C2440: 'initializing' : cannot convert from 'std::ios_base &(__cdecl )(std::ios_base &)' to 'std::ios_base'
这也不起作用:
我得到:错误 C2234:'arr':引用数组是非法的
那么,有没有办法解决这个问题呢?
c++ - std::map 之间有区别吗和 std::map?
据我了解, std::map 中的值对中的键一旦插入就无法更改。这是否意味着使用 const 键模板参数创建映射无效?
c++ - C++ std::set 线程安全吗?
我对 std::set 的线程安全有疑问。
据我所知,我可以迭代一个集合并添加/删除成员,这不会使迭代器无效。
但考虑以下情况:
- 线程“A”迭代一组 shared_ptr<Type>
- 线程“B”偶尔会向这个集合添加项目。
我在程序运行时遇到了段错误,我不确定为什么会发生这种情况。缺乏线程安全是原因吗?
c++ - 对 abs(double) 的模棱两可的重载调用
我有以下 C++ 代码:
并make
炸毁:
也很有趣:
如何指定编译器需要调用 cmath.h 中可以处理浮点数的 abs()?
编译器信息(不确定这是否重要):
c++ - 覆盖 std 函数
我想覆盖 std 函数的行为,比如 std::time。是否可以调用 std::time 并通过我的自定义函数进行路由?
c++ - 为什么在一个大的 std::list 上迭代这么慢?
正如标题所暗示的,我的程序有问题,我使用 std::list 作为堆栈并迭代列表的所有元素。当列表变得非常大时,该程序花费的时间太长了。
有人对此有很好的解释吗?它是一些堆栈/缓存行为吗?
(通过将列表更改为 std::vector 和 std::deque 解决了这个问题(顺便说一句,这是一个了不起的数据结构),一切都突然变得更快了)
编辑:我不是傻瓜,我不会访问列表中间的元素。我对列表所做的唯一一件事就是在末尾/开头删除/添加元素并遍历列表的所有元素。而且我总是使用迭代器来迭代列表。