tr1相关内容
如何在 c++ 中对 tr1::unordered_set 类型的集合进行交集和并集?我找不到太多关于它的参考. 任何参考和代码都将受到高度赞赏.非常感谢. 更新:我只是猜想 tr1::unordered_set 应该提供交集、并集、差集的功能.因为这是集合的基本操作.当然我可以自己写一个函数,但我只是想知道是否有来自 tr1 的内置函数.非常感谢. 解决方案 我看到 set_
..
我最初认为它们都是一样的,但结果证明是错误的.那么谁能简单解释一下这三者之间的区别?例如: std::bind(最新的,下一代C++) std::tr1::bind(旧的,C++ std 的扩展) boost::bind(完全独立的库) 或std::shared_ptr、std::tr1::shared_ptr和boost::shared_ptr、...等 更新 bind、
..
最近我一直在阅读 Scott Meyers 的优秀Effective C++ 书.在最后一个技巧中,他介绍了 TR1 的一些功能 - 我通过 Boost 了解了其中的许多功能. 然而,有一个我绝对不认识:tr1::reference_wrapper. 我将如何以及何时使用 tr1::reference_wrapper? 解决方案 据我所知,它就像 boost::ref.基本上,
..
我了解如何使用 weak_ptr 和 shared_ptr.我通过计算其对象中的引用数量来了解 shared_ptr 是如何工作的.weak_ptr 如何工作?我尝试通读 boost 源代码,但我对 boost 不够熟悉,无法理解它使用的所有内容. 谢谢. 解决方案 shared_ptr 使用额外的“计数器"对象(又名“共享计数"或“控制块")来存储引用计数.(顺便说一句:那个“计数
..
我在阅读 Boost.Asio 示例时遇到了 enable_shared_from_this,在阅读文档后,我仍然不知道如何正确使用它.有人可以给我一个例子和解释什么时候使用这个类是有意义的. 解决方案 当你只有 这个.没有它,您将无法获得 shared_ptr 到 this,除非您已经拥有一个成员.此示例来自 enable_shared_from_this 的 boost 文档:> c
..
我目前正在编写 C++ 内存编辑库,对于读/写 API,我使用类型特征(std::is_pod、std::is_same)和 boost::enable_if 来提供 3 个重载: POD 类型.例如MyMem.Read(SomeAddress); 字符串类型.例如MyMem.Read>(SomeAddress);(这实际上不是读出 C++ 字符串,而是读出 C 样式字符串并将其转换为 C
..
这个问题也适用于boost::function 和std::tr1::function. std::function 不是等式可比的: #include 无效的 foo() { }int main() {std::functionf(foo), g(foo);bool are_equal(f == g);//错误:f 和 g 不是相等可比的} 在 C++11 中,operator== 和
..
对于一个类,我想在一个存储 std::function 对象的 map 中存储一些指向同一类成员函数的函数指针.但是我一开始就失败了,这段代码: #include 类 Foo {民众:void doSomething() {}无效绑定函数(){//错误std::functionf = &Foo::doSomething;}}; 我收到 错误 C2064:在 xxcallobj 中,term 未
..
您将如何为TR1函数实现多播?我已将回调插槽实现为 void setCallback(std::tr1::function cb) { this->callback = cb; } ,但需要在其中之一中传递多个回调.我不想进入更复杂的解决方案,例如观察者,因为这是到目前为止我唯一需要多播的情况.我也无法使用Boost.Signals(如建议
..
我正在使用VS2008中的tr1命名空间编写一些内容.批准C ++ xx后会发生什么?其他C ++修订版本之前是否发生过这种情况? tr1内容仍然可以使用,还是必须更改所有包含的内容?我意识到我正在做出一个很大的假设,即有一天会批准该条约.我知道你们中最有可能没有人为MS工作或为GCC做出贡献,但是如果您有进行此类变更的经验,我将不胜感激. 解决方案 std :: tr1将成为C ++ 1x中
..
我有C ++ 03代码,如下所示: #include ... std::tr1::unordered_map mystuff; ... 我开始怀疑,如果以后将代码转换为C ++ 11时会遭受痛苦,(我想)它没有std::tr1::unordered_map但却具有std::unordered_
..
我只是在学习智能指针,而在将变量的现有位置分配给标准库的共享指针时遇到了麻烦. 例如,假设您有一个不知道其值的int x.使用普通的指针,我就做到了 int* ptr; ptr = &x; 我尝试了使用共享指针的尝试, std::tr1::shared_ptr ptr; ptr = std::make_shared (&x) 所以我对如何做到这一点很迷
..
使用std::tr1::shared_ptr作为std::shared_ptr并将using指令放置在相应的 header 中是否合法且良好的编程风格?像这样: namespace std { using tr1::shared_ptr; } 我知道污染整个名称空间很不好,但是这种情况呢?有隐藏的陷阱吗?目标编译器是VS2008,但还需要与更高版本兼容. 解决方案 从技术上
..
在Perl中,我可以这样做: $text = '1747239'; @matches = ($text =~ m/(\d)/g); # @matches now contains ('1', '7', '4', '7', '2', '3', '9') 使用C ++正则表达式匹配,复制此行为的最佳方法是什么 我得到了包括所有火柴的火柴盒? 我现在有这个:- compiledRe
..
#include #include #include "TextProcessing.h" const std::string URL_PATTERN("((http://)[-a-zA-Z0-9@:%_\\+.~#?&//=]+)"); const std::string REPLACEMENT("
..
在阅读Boost.Asio示例时遇到了enable_shared_from_this,在阅读了文档之后,我仍然迷失了如何正确使用它的方法.有人可以给我一个例子,解释使用此类的合理性. 解决方案 当您拥有的全部是this时,它使您可以将有效的shared_ptr实例获取到this.没有它,您将无法将shared_ptr升级为this,除非您已经有一个成员.来自关于enable_shared_
..
如何在GDB中访问std :: tr1 :: shared_ptr的目标。这不起作用: (gdb)p sharedPtr-> variableOfTarget 如果我尝试使用指针对象本身( p sharedPtr ),我得到如下所示: $ 1 = std :: tr1 :: shared_ptr(count 2)0x13c2060 使用普通指针我
..
获取C ++ tr1 成员(特别是shared_ptr,但我们希望函数和绑定以及所有其他成员)使用 GCC 3.4.4 (对于诺基亚 N810 平板电脑)。 有没有人这样做?试图这样? 对于我们来说,升级到GCC 4.x以交叉编译这个设备是可行的(但是如果您已经完成了那我们很想知道)。 可能有很多方法,我想避免其他人遇到的死角。 我们因为它可以非常相互依赖(你引入一个boo
..
我们正在编程一个保存在.hpp文件中的日志记录库。我们希望包含 (如果编译器支持TR1,)或标准的 否则。如果tr1有可用,是否有标准的检查方式? 我以为“ __ cplusplus “定义符号存在,可能已经定义了一个” __ cxx__tr1 “或类似的东西。我没有看到在TR1的草案中,所以我认为它不存在,但我想先问一下,以防万一。
..
我有一个简单的要求,我需要一个类型的地图。然而,我需要最快的理论上可能的检索时间。 我使用了地图和新的提出的unordered_map从tr1 i发现,至少在解析文件和创建通过在时间插入一个元素来映射。 只需2分钟,而unordered_map需要5分钟。 因为我将成为要在Hadoop集群上执行的代码将包含约1亿条记录,我需要最小的检索时间。 另外一个有用的信息: 当前
..