像许多人一样,这些天我一直在尝试c++ 11带来的不同特性。我最喜欢的是“基于范围的for循环”。我明白:等价于:begin()只是返回标准容器的a.begin()。但是如果我想让我的自定义类型“基于

在这种情况下= delete是什么意思?是否有其他“修饰符”(除了= 0和= delete)?

可能的重复:Pimpl: shared_ptr或unique_ptr智能指针(增强)解释有人能解释shared_ptr和unique_ptr之间的差异吗?

所以,在看了这个关于右值引用的精彩讲座后,我认为每个类都将受益于这样一个“移动构造函数”,模板<类T> MyClass(t&&other)编辑,当然还有一个“移动赋值操作符

我开始研究c++ 11的智能指针,我没有看到std::weak_ptr有任何有用的用途。有人能告诉我什么时候std::weak_ptr是有用的/必要的吗?

当一个函数接受一个shared_ptr(来自boost或c++ 11 STL)时,你是否传递它:foo(const shared_ptr<T>& p)或通过值:void foo(s

许多谷歌和stackoverflow的帖子都在这里,但我不明白为什么make_shared比直接使用shared_ptr更有效。有人能一步一步地向我解释创建的对象序列和两者所做的操作,这样我就能理解m

我试图构造一个std::线程的成员函数,不接受参数并返回void。我想不出任何可行的语法——无论如何编译器都会抱怨。实现spawn()以返回执行test()的std::线程的正确方法是什么?

在我看来,拥有一个“总是返回5的函数”破坏或稀释了“调用函数”的意义。必须有一个原因,或者需要这个功能,否则它就不会出现在c++ 11中。为什么会在那里?在我看来,如果我写一个函数,返回一个字面值,然

是否有一种容器适配器可以反转迭代器的方向,以便我可以使用基于范围的for-loop反向迭代容器?使用显式迭代器,我将转换如下:到这个:我想把它转换成::有这样的东西吗,还是我必须自己写?