C/C++教程

C++ 11特性深入学习

本文主要是介绍C++ 11特性深入学习,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

若一个类重载  =  符号

class_name& operator=(const class_name& other)

通过函数返回一个临时的class来定义一个  已声明的  变量时 

class_name c = class_name(arg);

会进行较多的工作:先用arg的对应构造函数生成一个临时var, 然后=重载函数将var作为参数才能生成c.

而通过右值引用重载 =

class_name& operator=(class_name&& other)
{
    sawp(this->data, other.data);
}

与上相同的方式定义变量时,直接将other(临时变量)的内部空间变成this的,仅进行一次构造和析构。

右值引用:就是必须绑定到右值的引用,C++11中右值引用可以实现“移动语义”,通过 && 获得右值引用。

右值引用和相关的移动语义是C++11标准中引入的最强大的特性之一,通过std::move()可以避免无谓的复制,提高程序性能。

引用自

 简单地说,减少右值初始化左值的开销。

这篇关于C++ 11特性深入学习的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!