短的例子:问题是:为什么我们需要mutable关键字?它与传统的参数传递到命名函数有很大不同。背后的原理是什么?在我的印象中,按值捕获的全部意义在于允许用户更改临时对象——否则我几乎总是使用按引用捕获

在Stack Overflow问题中,c++ 11中不允许重新定义lambda,为什么?,给出了一个不能编译的小程序:问题得到了回答,一切似乎都很好。然后约翰内斯·绍布做了一个有趣的观察:如果你在第一

可能的重复:#include <filename>和#include " filename "有什么区别?在c++中包含头文件时,尖括号< >和双引号" "之间有什么区别?我的

像许多人一样,这些天我一直在尝试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