
C++深入学习
凛冬.
这个作者很懒,什么都没留下…
展开
-
简单谈谈C++内存管理及相关面试题
C++语言的两大难点 指针 上篇博客有具体介绍智能指针,这篇文章我们介绍普通指针和面试题: 1,int *p 2,int **p 3,int *p[10] 4,int (*p)[10] 5,int *p(int) 6,int (*p)(int) 7,int (*p[10])(int) 1.指向一个整数的指针。 2.指向一个整数指针的指针。 3.由10个指向整型数的指针构成的数组。 4.数组指针,可以理解为数组第一个元素的首地址。(数组在传参的时候会退化成指针) 5.一个简单的函数,有一个整型参数,返回一个原创 2020-07-14 15:08:27 · 557 阅读 · 0 评论 -
右值引用、移动语义和完美转发
c++中引入了右值引用和移动语义,可以避免无谓的复制,提高程序性能。有点难理解,于是花时间整理一下自己的理解。 左值、右值 C++中所有的值都必然属于左值、右值二者之一。左值是指表达式结束后依然存在的持久化对象,右值是指表达式结束时就不再存在的临时对象。所有的具名变量或者对象都是左值,而右值不具名。很难得到左值和右值的真正定义,但是有一个可以区分左值和右值的便捷方法:看能不能对表达式取地址,如果能,则为左值,否则为右值。 看见书上又将右值分为将亡值和纯右值。纯右值就是c++98标准中右值的概念,如非引用返回转载 2020-07-13 16:18:09 · 191 阅读 · 0 评论