- 博客(4)
- 收藏
- 关注
原创 C++11尝鲜:std::move和std::forward源码分析
std::move和std::forward是C++0x中新增的标准库函数,分别用于实现移动语意和完美转发。下面让我们分析一下这两个函数在gcc4.6中的具体实现。预备知识引用折叠规则:X& + & => X&X&& + & => X&X& + && => X&X&& + && => X&&函数模板参数推导规则(右值引用参数部分):当函数模板的模板参数为T而
2011-10-07 14:48:33 63831 24
原创 C++11尝鲜:Variadic Function Templates(带变长参数的函数模板)(续)
代码1#include #include #include #include #include #include using namespace std;using namespace boost::fusion;using namespace boost::lambda;templatevoid output(First const& first, Rest const
2011-10-20 12:44:52 3115 2
原创 C++编译器优化:Copy Elision(省略不必要的拷贝)
为避免对临时对象进行不必要的拷贝,C++编译器常使用一种名为Copy Ellision(拷贝去除)的优化技术,该技术至少包括以下两项内容: 返回值优化(RVO),即通过将返回值所占空间的分配地点从被调用端转移至调用端的手段来避免拷贝操作。返回值优化包括具名返回值优化(
2011-10-05 17:56:28 8021 2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人