![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
编程
图像处理1
这个作者很懒,什么都没留下…
展开
-
右值引用
右值和左值C++ 中右值概念是:只能出现在operator= 右侧的表达式,而左值的概念则是:可能出现在 operator= 左边的的表达式。官方给的概念比较容易理解,但是我们在这里还是要做两点解释。首先,对于左值官方的定义是可能出现在 operator=左边的表达式,因此我们要注意左值是既可以出现在 operator= 左边,也可以出现在 operator= 的右边,例如://在 =...原创 2020-03-05 07:32:49 · 136 阅读 · 0 评论 -
移动语义
在《右值引用》中我们介绍了右值引用的语法和一些注意事项,而本文所介绍的移动语义与右值引用密不可分。不必要的深拷贝在 C++ 中如果类中含有堆内存,就需要类的编写者提供深拷贝的拷贝构造函数,如果使用默认构造函数(浅拷贝),会导致堆内存的重复删除(或者说指针悬挂)。但是,在很多情况下是深拷贝又是不必要,比如下面的情况:#include using namespace std;class ...原创 2020-03-05 07:31:21 · 180 阅读 · 0 评论 -
默认函数的控制
“= default”和 “= deleted”C++11 标准把“= default” 修饰的函数称为显式缺省(explicated faulted)函数,把 “= delete”修饰的函数成为为删除函数,为了方便也将它称为显示删除函数。C++11 引入显式缺省和显式删除是为了增强对类默认函数的控制,让程序员能够更加精细地控制类默认函数。为了更好的了解“= default”和 “= de...原创 2020-03-05 07:29:57 · 160 阅读 · 0 评论 -
noexcept 关键字.docx
noexcept 的基本语法noexcept 是C++11 为了替代 throw() 而提出的一个新的关键字,在C++ 中使用函数异常声明列表来查看函数可能抛出的异常。比如:void func() throw (int,double);上例就是一个函数异常声明列表,该声明指出 func 可能抛出int和 double 类型的异常。但是在实际编程中很少使用这种写法,所以这一特性在 C...原创 2020-03-05 07:28:47 · 255 阅读 · 0 评论