- 博客(7)
- 收藏
- 关注
原创 移动语义,右值引用和move
int &&rr2 = rr1 错误: 变量是左值,因此我们不能将一个右值引用直接绑定到一个变量上,即使这个变量是右值得引用类型也不行.int &&r = i *42. 右值引用重要性质:只能绑定一个将要销毁的对象.:虽然不能将一个右值引用直接绑定到一个左值上,但我们可以显示地讲一个左值转换为对应的右值引用类型.使用右值传递的意义在于 我要调用可以区别 于非右值传递的构造函数,从而发生移动语义.把原来的指针置空,新的vector 指针指向原来指针指向位置.: 真实数据并未动,另外数据也没有复制一份。...
2022-08-31 14:51:45
72
1
原创 基于梯度下降与牛顿法的求根号
设计思路1.设计损失函数,从而转化问题,损失函数导数为0时,得到函数极小值。损失函数为(t^2-x)^2,迭代式t1=t0-aL'(t0)2.利用泰勒一阶展开也可得出迭代式。
2022-07-14 20:20:34
159
原创 JVM对象的内存分配机制
参考自【零基础 快速学Java】韩顺平 零基础30天学会Java_哔哩哔哩_bilibili 第一行,Cat cat = new Cat(); 首先会加载Cat类信息到方法区(属性,方法),随后new关键字会在堆里开空间(生成地址),并且地址指向的属性赋数据类型的默认值。创建成功后栈中生成一个对象,指向堆区对应的地址。第二三四行,通过cat找到堆中对应地址,然后找到name,age,color各个对应的地址,其中name和color非基本数据类型,他们在堆中会生成为地址,并在方法区生成地址所对应的值。而基本
2022-07-08 12:32:20
235
原创 类与对象的理解
用来声明代表一类事物,如 人类,猫,狗。 每个类有不同的属性和方法,比如人类有手臂,并且能够说话。对于程序来讲,类封装了属性和方法,可以实例化类产生对象,对类的属性方法直接调用,更加便捷。声明类的关键字是class类的实例化,比如人类代表一个类,而小红是人类,则小红是人类的实例对象。所以小红也有手臂,能够说话。程序亦是如此。C++代码示例...
2022-07-01 21:11:35
254
原创 C++的浅拷贝与深拷贝
本文参考黑马程序员C++教程黑马程序员匠心之作|C++教程从0到1入门编程,学习编程不再难_哔哩哔哩_bilibili首先浅拷贝问题如下 因为开辟在堆区的height被析构函数delete两次(在拷贝构造函数中p1的m_height赋值给了p2的m_height),所以会导致程序崩溃,因此我们需要重写拷贝构造函数开辟新的空间实现深拷贝...
2022-06-30 16:49:12
494
原创 基于线性回归对神经网络的解释以及梯度下降鞍点与局部最优的产生原理
首先,机器学习的本质是让计算机找到一个函数来解决问题,这种函数非常复杂以至于人类无法直接手写出来。本文参考李宏毅教授视频ML 2021 Spring神经网络是解决线性不可分问题,你可以引入多条线来分割当然我们也可以引入激活函数(非线性函数)让线段更加扭曲使分割效率更好。如图sigmoid函数能让线段成阶梯式 在sigmoid函数中不同的权重会改变函数图像而神经网络就是通过参数X去训练W权重再通过非线性激活函数,最后不同的神经元拼接在一起使之成为一个复杂的函数 梯度下降就是损失函数通过导数去逼近导数为0的位置
2022-06-30 14:56:06
236
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人