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

c++ - boost::shared_ptr 标准容器

假设我有一个类 foo,并希望使用 std::map 来存储一些 boost::shared_ptrs,例如:

如果我向地图添加了一个新的 foo_sp 但使用的键已经存在,是否会删除现有条目?例如:

原来的指针(p)被p2替换后会被释放吗?我很确定它会是,但我认为值得询问/分享。

0 投票
3 回答
5488 浏览

c++ - 如何在 Visual Studio 2008 SP1 中使用 std::tr1::mem_fun?

VS2008 SP1文档讨论了std::tr1::mem_fun.

那么为什么,当我尝试使用时std::tr1::mem_fun,为什么会出现这个编译错误?:

同时,我可以std::tr1::function毫无问题地使用。

这是我试图编译的示例代码,它应该通过 a调用TakesInt的实例:Testfunction<void (int)>

我正在尝试使用 tr1 版本mem_fun,因为使用std::mem_fun我的代码时也无法编译!我无法从编译器错误中判断问题出在我的代码上,还是可以通过使用 tr1's 来解决mem_fun。那是你的 C++ 编译器错误(或者可能只是我!)。


更新:对。答案是正确拼写为 mem_fn!

但是,当我修复它时,代码仍然无法编译。

这是编译器错误:

0 投票
2 回答
332 浏览

c - Linux C 库中的 SetFileLength() 等函数

Linux下的C库中是否有可以设置文件长度的函数?在 Windows 下,我知道有一个 SetFileLength() 函数。如果没有,在不删除和重写文件的情况下缩短文件的最佳方法是什么?

0 投票
4 回答
6635 浏览

c++ - std 库中有什么函数可以对向量进行二进制搜索并找到一个元素?

我有一个节点结构

在一个排序的向量中。

我想知道算法中是否有一个函数可以对向量进行二进制搜索并找到一个元素。

0 投票
6 回答
2939 浏览

c++ - 是否有一个标准的 C++ 函数对象用于拆分 std::pair?

有谁知道是否存在用于访问 std::pair 元素的事实上的标准(即 TR1 或 Boost)C++ 函数对象?在过去的 24 小时内,我曾两次希望拥有类似keysPerl 哈希函数的东西。例如,最好在 std::map 对象上运行 std::transform 并将所有键(或值)转储到另一个容器。我当然可以编写这样一个函数对象,但我更愿意重用一些吸引眼球的东西。

0 投票
3 回答
1838 浏览

c++ - 为什么 std::auto_ptr operator = 垃圾对象?

似乎 std::auto_ptr 和分配有问题,以至于引用的对象似乎由于某种原因被丢弃了。

我已经对其进行了跟踪,并且似乎(通过观察调试器中的值)问题发生在从临时 std::auto_ptr_byref() 传输指针时,该临时 std::auto_ptr_byref() 是为包装 rhs 指针而创建的。也就是说进入auto_ptr(auto_ptr_ref<_Ty> _Right)函数时_Right中的值是正确的,但是离开时_Myptr中的值是垃圾。

起初我以为它搞砸了继承并切断了接口,但是即使该类只有一个父类也会发生这种情况。

如果我们记得的话,我们可以避免做 = new,或者通过使用方括号或更改为在 rhs 上具有显式 std::auto_ptr temp,这当然容易出错。

只是这个版本的库被破坏了,还是我没有得到一些底层的东西?

我们还注意到将 std::auto_ptr 分配给 boot::shared_ptr 的类似问题,尽管我们现在完全删除了它,我不记得是哪种语法导致了这个问题。

0 投票
1 回答
323 浏览

c++ - mem_fun 失败,pthread 和类 ptr

pthread接受作为它的参数void *(*start_routine)(void* userPtr),我希望我可以用它std::mem_fun来解决我的问题,但我不能。

我想使用该功能void * threadFunc()并将其userPtr作为类(userPtr->threadFunc())。有没有类似于std::mem_func我可以使用的功能?

0 投票
2 回答
79613 浏览

c++ - ifstream,行尾并移至下一行?

如何使用 std::ifstream 检测并移至下一行?

我知道如果发生错误,好的会告诉我,但是一旦发生错误,流就不再起作用了。在阅读另一个 int 之前,我如何检查我是否在行尾?

0 投票
2 回答
2035 浏览

c++ - 如何为 7z 归档格式编写二进制数据?

我一直在倾注 7z 存档格式的格式描述和源代码,但我仍然无法编写有效的容器。我假设我可以创建一个空容器......无论如何这是我的开始:

我认为我的主要问题是缺乏对 std::ofstream::write() 的理解。字节是“无符号字符”,UInt64 和 UInt32 都是“无符号长”。

UPDATE0:正如每个人都指出的那样,如果我在大端机器上运行它会是一个问题。这不是这里的情况。根据 Fredrik Janssen,我应该投射非数组的地址。我还应该提到 CrcCalc() 是 LZMA SDK 中的一个函数。添加 & 有点帮助,这是第一个 unsigned char[6] 有一些问题。

UPDATE1:工作代码在下面获取一个空的存档文件。

注意:CrcGenerateTable() 和 CrcCalc() 来自 LZMA SDK。

0 投票
4 回答
15088 浏览

c++ - 创建一个 ostream

出于教育原因,我正在尝试创建一个 c++ ostream。我的测试将创建一个 ostream,它的行为类似于 ofstream,除了写入文件而不是写入双端队列或向量容器之外。