当我启用c++ 11时,我在一个小的c++代码片段中发现了一个有趣的性能回归:使用g++ (GCC) 4.8.2 20131219(预发布)和c++ 03我得到:另一方面,当c++ 11启用时,性能会

好吧,上次我以写c++为生时,std::auto_ptr是所有可用的std库,boost::shared_ptr风靡一时。我从未真正研究过boost提供的其他智能指针类型。我知道c++ 11现在提供了

我明白为什么c++ 11中的auto类型提高了正确性和可维护性。我读到过,它也可以提高性能(几乎总是自动的Herb Sutter),但我错过了一个很好的解释。如何自动提高性能?有人能举个例子吗?

使用c++ 11的基于范围的正确方法是什么?应该使用什么语法?对于(auto elem: container),或for (auto& elem: container)或for (const

性病衰变存在的原因是什么?在什么情况下std::decay是有用的?

我一直在使用c++ 11标准中提供的新的auto关键字来处理复杂的模板类型,我相信它就是为这个目的设计的。但我也用它来做以下事情:更令人怀疑的是:我还没有看到很多关于这个话题的讨论。auto似乎被滥用

我如何从一个地图,而迭代它?如:如果我用地图。擦除它将使迭代器失效

我知道std::atomic<>是一个原子对象。但是原子到什么程度呢?根据我的理解,操作可以是原子的。使一个对象原子化到底意味着什么?例如,如果有两个线程并发执行以下代码:那么整个操作(例

c++ 11标准(ISO/IEC 14882:2011)在§C.1.1中说:对于c++,它是OK的,因为指向字符串文字的指针是有害的,因为任何修改它的尝试都会导致崩溃。但为什么它在C中成立?c++ 1

在clang的c++ 11状态页面中遇到了一个叫做“*this的右值引用”的提议。我读过很多关于右值引用的书,也理解它们,但我不认为我知道这个。我在网上也找不到多少使用这些术语的资源。页面上有一个提案