右值引用 :int &&p 左值引用:即普通引用 int& p 常量左值引用:const int& p 共同点:都是变量,都是引用 区别:左值引用只能绑左值,右值引用只能绑右值,但注意右值引用同样也是变量,是左值! 常量左值引用却是个奇葩,它可以算是一个“万能”的引用类型,它可以绑定非常量左值、常量 ...
分类:
编程语言 时间:
2020-02-23 22:30:43
阅读次数:
77
引用 左值引用,建立既存对象的别名 右值引用,可用于为临时对象延长生命周期 转发引用,保持函数实参的类别 悬置引用,对象生命周期已经结束的引用,访问改引用为未定义行为 值类别,左值,纯右值,亡值 std::move, std::forward 类型推导 引用塌缩(折叠) 可以通过模板或者 typed ...
分类:
编程语言 时间:
2020-01-27 23:35:18
阅读次数:
97
【1】std::move 在C++11中,标准库在<utility>中提供了一个有用的函数std::move。 这个函数的名字很具有迷惑性,因为实际上std::move并不能移动任何东西,它唯一的功能:将一个左值强制转化为右值引用,继而可以通过右值引用使用该值,以用于移动语义。 从实现上讲,std: ...
分类:
编程语言 时间:
2020-01-27 09:37:06
阅读次数:
99
对象:python中,一切皆对象。本质就是一个内存块,拥有特定的值,支持特定类型的相关操作。由标识、类型、值组成。 标识:id(obj),内存中的地址 类型: type(obj) 对象存储的数据类型 值: print(obj) 打印值 引用:变量就是对象的引用,变量在栈里面,对象在堆里面,变量存储的 ...
分类:
其他好文 时间:
2020-01-16 23:33:52
阅读次数:
73
指针和引用的相同点: 1、都能提供对其他对象的间接访问 指针和引用的不同点: 1、引用并非对象,它只是为一个已经存在的对象所起的一个别名 指针本身就是一个对象,允许对指针赋值和拷贝 2、一旦定义了引用,就无法令其再绑定到另外的对象上去 指针可以先后指向几个不同的对象 3、引用定义的时候,必须赋初值 ...
分类:
其他好文 时间:
2020-01-05 13:36:52
阅读次数:
87
直接赋值:其实就是对象的引用(别名)。 浅拷贝(copy):拷贝父对象,不会拷贝对象的内部的子对象。 深拷贝(deepcopy): copy 模块的 deepcopy 方法,完全拷贝了父对象及其子对象。 实例解析 a = {1: [1,2,3]} 1. b = a: 赋值引用,a 和 b 都指向同一 ...
分类:
编程语言 时间:
2019-12-17 10:36:31
阅读次数:
73
logstash的配置文件conf经常会涉及敏感信息,比如ES,mysql的账户密码等,以下使用logstash导入mysql为例子,加密隐藏mysql的密码。 在向keystore中添加key及其secret值之后,你可以在配置敏感设置时使用key代替secret值。 引用key的语法与环境变量的 ...
分类:
其他好文 时间:
2019-12-16 13:03:26
阅读次数:
188
== : 它的作用是判断两个对象的地址是不是相等。即,判断两个对象是不是同一个对象 基本数据类型:== 比较的是值 引用数据类型:== 比较的是内存地址 equals() : 它的作用也是判断两个对象是否相等。但它一般有两种使用情况: 情况1:类没有覆盖 equals() 方法。则通过 equals ...
分类:
其他好文 时间:
2019-12-09 11:35:35
阅读次数:
64
1、指针是一个变量。存储的是地址;引用相当于给变量起别名。 2、指针初始化时可以不赋值,可以改变存储的值,可以赋空值;引用必须在初始化时绑定变量,不可更改指向关系; int a = 10; int b = 1, c = 2; int &d = a; //&引用 一定要初始化 且不可更改 只是相当于给 ...
分类:
编程语言 时间:
2019-12-06 11:50:12
阅读次数:
93
代码 java中初始化一个实例,这个实例对应的只是对象的一个地址,并不是对象本身。将这个实例赋值给别的实例时,新实例也是指向对象的地址,两个实例实际指向的是同一个实例。对新实例赋值,老实例也会同时改变。 如图中代码,java传的只是对象地址,对象赋值引用的是同一个对象,p1引用用p,对p1操作,最终 ...
分类:
编程语言 时间:
2019-12-05 13:06:15
阅读次数:
84