9得票1回答
tr1::function可以接受返回值吗?

boost::function FAQ item 3 特别针对我感兴趣的场景进行了处理: Why are there workarounds for void returns? C++ allows them! Void returns are permitted by the C...

9得票3回答
std::tr1 中的 shared_ptr

我正在使用gcc编译器的平台,但是boost无法在其上编译。 我想知道在gcc中正确包含std:tr1中的shared_ptr的方法是什么?我查看的文件中说不要直接包含它,从我所看到的,也没有其他文件包含它 :|

9得票3回答
如何处理不断发展的C++ std::命名空间?例如:std::tr1::shared_ptr vs. std::shared_ptr vs. boost::shared_ptr vs. boost::tr1::shared_ptr。

对于我目前正在处理的代码,有时我们需要在一些旧系统上使用旧编译器进行编译(例如-我们在旧的IBM BlueGene/L上运行模拟程序,其支持合同规定了一些相当老的C++编译器)。 该代码本身使用shared_ptrs,并最初是使用std :: tr1 :: shared_ptr编写的。 当在旧...

9得票3回答
返回一个“指针”,该指针需要由智能指针持有。

我有一个项目,希望更多地使用智能指针。总体上,我已经成功实现了这个目标。然而,我遇到了一件事情,不确定什么是“最佳实践”。 基本上,我想从一个函数返回一个“指针”,但要求用户将其保存在智能指针中。不仅如此,我也不想强制使用特定的智能指针(比如shared vs. scoped)。 问题主要...

9得票1回答
Python字典和C++中的tr1 :: unordered_map之间的区别

我有一个关于理解Python字典工作原理的问题。 我记得在某个地方读到Python中的字符串是不可变的,以允许哈希,并且这也是为什么不能直接使用列表作为键的原因,即列表是可变的(通过支持.append),因此它们不能用作字典键。 我想知道C++中unordered_map的实现如何处理这些...

9得票3回答
当C++ xx被批准后,命名空间tr1会发生什么变化?

我正在使用VS2008中的tr1命名空间编写一些东西。当C++xx获得认证时会发生什么?其他C++修订版本是否也曾经发生过这种情况?tr1的内容是否仍然有效,还是我需要更改所有包含文件?我知道我正在做一个非常大的假设,即这种认证总有一天会发生。我知道你们中的大多数人不工作于微软或为GCC做贡献...

8得票2回答
如何在Visual Studio 2010中使用tr1(tr1::function)?

如何开始使用 Visual Studio 2010 的 tr1 功能?针对更具体的情况,我需要 std::tr1::function。我尝试包含 #include <tr1/functional>,但报告为丢失,而 #include <functional> 可以正常包...

8得票4回答
在C++中确定编译时包含文件的存在性

我正在尝试编写一些可移植的C++库代码,最初将依赖于Boost.Regex,然后在编译器支持TR1之后转向TR1,并在std::tr1命名空间中的内容移动到std后,最终转向C++0x规范。以下是我想通过预处理器实现的伪代码: if( exists(regex) ) // check ...

8得票1回答
关于std::array的初始化

假设您有一个c++0x std :: array模板类的成员,并且您希望通过使用接受一对迭代器的构造函数来初始化它: template <typename Tp, size_t N> class Test { public: template <typename ...

8得票3回答
使用C++类似于函数的类,可能在多个不同的位置被定义。

在C++0x、C++03 TR1和boost中,像function和bind这样的东西可以在3个不同的地方定义,具体取决于编译器。例如,在VC9功能包之前,您有boost版本,在std::tr1::命名空间中获取它们,而VC10则将其移动到std::命名空间。 目前,我的现有代码仅在boos...