C++
文章平均质量分 72
wuk0ngs
这个作者很懒,什么都没留下…
展开
-
深入浅出C++智能指针
什么是智能指针原创 2022-02-16 23:35:01 · 384 阅读 · 0 评论 -
深入浅出C++函数调用过程(x86)
什么是栈空间栈可以理解为一个临时空间。我们为了执行当前所在的函数,需要一些临时空间为了计算。我们知道函数内声明的变量的生命周期也就是这个函数的声明周期。所以每当执行到一个函数都需要有一个独立的栈空间以便计算。寄存器PC是CPU中用于存放下一条指令地址的寄存器(不是当前执行的指令地址而且下一条指令)。sp为堆顶指针bp栈底指针先跳过这个图。我们从一个sum函数入手先看一个过程内的sumint main(){ int a=1; int b=2; int c=a+b;}main原创 2022-02-16 23:21:09 · 612 阅读 · 0 评论 -
深入浅出C++左值引用,右值引用,移动语义。
什么是左值 右值?简单来说左值就是可以取地址,在=左边的,而右值就是不可以取地址,在=右边的。int t=10;t可以通过&取地址在=左边 所以t是左值10不可以取地址 在=右边10是右值。class A{ A(int a){ a=10; } int a;}A a= A();a可以通过&取地址,在等号左边可以a是左值。A()不可以通过&取地址,在等号右边所以A()是右值。什么是左值引用?什么是右值引用?引用就是别名,同一变量的不同名字。通过引原创 2022-02-16 00:52:59 · 886 阅读 · 0 评论