- 博客(2)
- 收藏
- 关注
原创 浅谈左值和右值引用
要分清楚左值和右值,一般来说左值和右值是等式的左边和右边,但也存在部分特殊情况导致左值和右值不一定必须在等式的左边和右边,比如使用move()函数,使用?若使用move()函数,一般都需要先行了解移动语义,move()函数类似于在计算机移动文件的情形:实际文件还留在那个地方,而只是修改记录这种方法被称为移动语义。无论是左值引用还是右值引用在声明时都必须被初始化,否则会造成悬空引用,这是一种未定义行为,会导致程序崩溃或其他不可预测现象。常量左值可以引用非常量和常量左值,非常量左值只能引用非常量左值。
2024-07-16 15:10:29
549
原创 浅谈explicit
首先explicit是用来在c++中用来防止隐式转换的一个关键字,一般多用于构造函数中含有一个参数类型,当含有多个参数类型的时候或者参数将不适用。隐式转换是编译器自行发生的行为,是在我们可能不注意时发生的,因此在类中可以多使用explicit关键字来进行不必要的数据类型转换,防止后续调试时发生错误。注:隐式转换是指编译器在不需要程序员显示指示的情况下进行的自动数据类型转换。
2024-07-15 22:22:38
266
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人