问题标签 [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 回答
172 浏览

c++ - 将二维空间中的项目映射到内存中

我有许多由其二维坐标(有符号短距离)标识的项目。每个项目都是包含 64KB 数据的类。任何时候都有大约 500-1500 个项目。项目通常围绕一个点以约 20 个为一组。我的问题是我应该如何映射它们,以免占用太多内存。项目将被缓慢添加/删除(每秒 1-10 个),并且会被非常频繁地获取,因此从列表中获取元素(指向更大结构的指针)应该尽可能快。

我想出的是会有一些 gridContainer 类,可以说它将存储 64x64 指针的矩形。我将拥有主网格容器,它将存储其他 gridContainer,而这个嵌套的 gridContainer 将存储我想要映射的实际项目(这将允许 4096x4096 个实际项目)。要访问特定项目,例如 [260, 130],我会将其除以 64 并取商以找到父 gridContainer 位置,余数以找到嵌套 gridContainer 位置。所以对于 [270,145] 我将有 [4,2] 和 [14,17]。

我也在考虑使用std::map,但我不知道它的内部结构,也不知道我应该期待它的性能。

对我的方法有什么建议或有更好的方法吗?

0 投票
1 回答
2565 浏览

c++ - 输入迭代器和只读前向迭代器有什么区别?

输入迭代器和只读前向迭代器有什么区别?

因为后者是只读的,它们显然不能满足输出迭代器的要求。并且,正因为如此,它们实际上是具有额外保证(如果有的话)的输入迭代器。问题是,什么额外的保证?

我的猜测是前向迭代器是多遍的,而输入迭代器不是,对吗?

0 投票
4 回答
24627 浏览

c++ - GCC 链接器找不到标准库?

我一直在 XCode 中开发一个学校项目。最终产品必须以源代码和 makefile 的形式提交,所以我编写了一个 makefile 并开始编译,以确保我有一个工作副本。这是我的生成文件:

编译每个目标文件都可以正常工作,但是当它到达“全部”链接步骤时,它似乎不知道标准库。从“cin”到“basic_string”再到“operator new”,我收到“未定义符号”错误。

我的印象是这些东西不需要直接表示,实际上过去也不需要这样做。

知道会发生什么吗?

编辑:

如果有帮助,这是(非常长的)错误消息的开始:

0 投票
3 回答
660 浏览

c++ - C++ 标准库必须用 C++ 实现吗?

  1. 必须在 C++ 中实现符合标准的 C++ 标准库实现吗?
  2. 如果不是,是否允许做在纯 C++ 和标准库以及一些实现定义的行为中无法实现的神奇事情?

  • 我知道有一些依赖于扩展的并行实现(至少在 C++11 之前),但它们真的符合吗?
  • 我在标准中找不到任何要求,但是今天我的标准可能很弱
0 投票
1 回答
93 浏览

c++ - 如何在不实际插入的情况下找到将元素插入到 std::map 的位置

有没有一种方法可以轻松找到将元素插入 a 的迭代器std::map,而无需实际插入元素?

0 投票
4 回答
1773 浏览

c++ - 编译器喊出文本“>”是意外​​的 C++ XLC

我在头文件中声明了一个函数。

我不知道为什么,但编译器抱怨这一行并说"The Text ">"是出乎意料的。

我正在使用 AIX 5.3 和 XLC/VAC 编译器。也许我对函数的定义也有问题,但我认为地图必须知道它所持有的类型是什么。

有问题的行打印在下面。

我认为这是函数的正确声明

正如下面建议的那样,我已经定义了 typedefs,不幸的是,这只是转移了问题,现在我在 typedefs 的行上得到了同样的错误。

0 投票
1 回答
264 浏览

haskell - Haskell FFI:你如何包装 C++ 集合?

我有一个返回的函数vector<MyClass>;将其更改为适合 FFI 的最佳方法是什么?

如果可能的话,我认为像这样的类型:: [CIntPointer]可能是一个不错的折衷方案。

0 投票
1 回答
1574 浏览

c++ - std::reference_wrapper 中的 Visual C++ 10.0 错误?

代码:

MinGW g++ 4.6.1 的结果:

/blockquote>

Visual C++ 10.0 的结果:

/blockquote>

我喜欢 Visual C++ 编译器 11 次告诉用户抽象类无法实例化的方式,只是为了强调这一点,以防用户不知道这一点。但是std::reference_wrapper真的应该实例化这个类吗?(通过)引用的重点不是不需要实例化吗?

即,正如我强烈怀疑的那样,这是 Visual C++ 标准库实现中的错误吗?

0 投票
4 回答
2418 浏览

c++ - C++ UNICODE 和 STL

Windows API 似乎很重要UNICODE,您在 Visual C++ 中创建了一个新项目,UNICODE默认情况下将其设置为。
而我想成为一名优秀的 Windows 程序员,我想使用UNICODE.

问题是 C++ 标准库和 STL(例如std::stringstd::runtime_error)不适用于UNICODE字符串。我只能将std::string或 achar*传递给std::runtime_error,而且我很确定std::string不支持UNICODE

所以我的问题是,我应该如何使用诸如std::runtime_error之类的东西?我应该混合UNICODE和常规ANSI吗?(我认为这是一个坏主意......)
只是ANSI在我的整个项目中使用?(不喜欢..)还是什么?

0 投票
2 回答
307 浏览

c++ - Visual C++ 标准库关键字

我想写一个 unicode 版本的 std::exception 和 std::runtime_error。
所以我想有什么更好的方法从 C++ 标准库中获取实现并更改它们以支持 unicode。

因此,我在 Visual C++ 中提取了异常stdexcept标头,复制了代码,进行了更改。

问题是除非我删除_CRTIMP_PURE. 我还_EXCEPTION_INLINE __CLR_OR_THIS_CALL从所有成员函数中删除了前缀。

它正在工作,但我很好奇所有这些东西做了什么。
_EXCEPTION_INLINE它在它上面的字面上定义为#define _EXCEPTION_INLINE,我的谷歌搜索技能找不到任何关于他们做什么的文档。

那么,有人知道这些是什么意思吗?以及为什么在我_CRTIMP_PURE从班级中删除前缀之前它不会链接?