- 博客(20)
- 问答 (1)
- 收藏
- 关注
原创 【js】闭包及其内存保存简单易懂的介绍
注意,这里不需要像嵌套函数一样手动删除引用,因为这里的闭包函数并没有(通过return)暴露给外界去引用。在这种情况下,outerFunc占用内存的时间 = closureExample占用内存的时间,而不是在outerFunction();闭包通常是在嵌套函数中实现的(但并不是只有返回一个小函数的大函数能造成闭包!局部活动对象(包含所有挂在这个活动对象下的变量,也就是函数内的变量)被销毁。闭包 = 形成闭包的函数 + 被引用的(裁剪过的)作用域。闭包内的变量不会自动销毁,会被“一直”保存在内存中。
2024-03-14 19:30:57
491
原创 js中async与await易懂的介绍(含对执行栈和消息队列的简单介绍)
只有当执行栈为空时,事件循环(Event Loop)才会检查消息队列,并将其中的任务移至执行栈中执行。当执行栈为空时,事件循环会从消息队列中取出一个任务,将其添加到执行栈中执行。当函数执行完毕时,其对应的执行上下文会从执行栈中弹出,控制权回到上一个执行上下文中。它会持续地监测执行栈的状态,当执行栈为空时,会检查消息队列中是否有待执行的任务。通过事件循环,JavaScript 引擎实现了异步任务的执行,保证了程序在等待异步操作完成时,能够继续执行其他任务,提高了整个程序的性能和响应速度。
2024-03-11 20:19:55
1050
原创 js中Promise的易懂的介绍
不管是从pending变resolve还是reject,这个Promise实例都“settle”了。不像好多别的教材都在把Promise类、Promise实例、Promise的构造函数、Promise的init函数混成一个东西说。Promise的构造函数接受一个 回调函数(一般称为executor)作为参数,来构建一个Promise实例。可以通过 它的构造函数 来新建一个Promise实例。执行顺序为:promiseA -> promiseB。这个泛型类型是Promise实例的“返回值”的类型。
2024-03-11 17:18:21
758
原创 【CS61B SP18丨笔记】1. 入门与介绍
课程表网站:课程表网站包含josh做的各个年度的CS61B课程的课程表。课程表内包含:(1)在校园中该课程的上课与考试时间(2)该课程的视频链接(转至油管对应视频,因此有cc字幕)(3)该课程的PPT链接(4)该课程对应的阅读资料链接等课程要求:(1)学生应已经熟练掌握最少一门编程语言(如python)课程表中包含??节课程,从综述开始,然后讲解java入门,最后讲解数据结构与算法课程内包含三种练习:HW(homework)、lab与project(1)练习难度中:lab最低最轻松;H.
2022-03-15 11:17:55
935
原创 金额格式转换(千分位、小数点等)
/*** @param strValue: wstring going to be unified, return unified wstring* @param amountType: amount type for unify 0-,. 1-. 2-NA 3-,* @return true-normal false-error*/int CExSamples::unify_money(wstring& strValue, int amountType){ if(strValue.s
2022-02-16 17:52:44
790
原创 标准化金额:加小数点和逗号 / 加逗号 / 加小数点 / 纯数字
逗号部分代码部分参考:如何将数值,金额以逗号分隔#include<iostream>#include<string>#include<cstdlib>using namespace std;int unify_money(string& strValue, int unifyType){ if(strValue.size() < 1) return false; //转化为纯数字 string strNum = ""; for(in
2021-11-11 17:23:19
1340
原创 自用经验丨使用 i < vector.size(),避免 i <= vector.size()-1
建议使用for(i = 0, i<vectorName.size(), i++)而非for(i = 0, i <= vectorName.size()-1, i++)后者在遇到size() = 0时,仍会进入循环体,可能造成溢出。其原因在于,此处的 size() 是一个无符号整形变量(unsigned int)。在与其他数做运算时,它会把其他数字强制转换为无符号整形。因此,-1 被转换成 unsigned int(-1),即4294967295,在比较大小时自然失败。参考:添加
2021-10-18 12:04:51
234
原创 自用经验丨更改头文件不生效?重新生成项目欢迎你!
更改头文件不生效?断点打不上去?文件没有加载任何符号?重新生成项目||重新编译单个文件欢迎你!先生成或单个编译,再整体dubug ????
2021-07-19 14:15:42
230
原创 Visual Stdio 2010丨动态库的链接
将所需要的.dll与.lib都放入Debug文件夹下添加依赖项右击项目名属性链接器输入附加依赖项添加lib的路径“…/Debug/文件名.lib”3.添加链接程序 wstring libpath=L""; TCHAR lpInstallDir[MAX_PATH]={0}; DWORD dRes=GetModuleFileName(NULL,lpInstallDir,MAX_PATH); //执行完GetModuleFileName函数之后,lpInstallDir数组中保存的.
2021-07-14 18:45:01
319
原创 解决问题丨Demo中使用loadlibrary返回 NULL,错误码0
问题已解决参考:参考1:LoadLibrary无法加载.dll解决思路丨包含静态库动态库介绍,引文中含有错误代码表链接,可以对照使用参考2:loadlibrary返回 NULL , 错误码值126丨包含对我的问题生效的解决方法解决办法:原程序//源程序g_hInstance = ::LoadLibrary(L"dll文件名");//结果g_hInstance == NULL使用GetLastError()进行查错,与参考1中引文的错误代码表对照//源程序g_hInstanc
2021-07-14 11:36:28
3981
1
原创 C++ Premier Plus丨编程练习答案丨第十章
未完成第一题bankaccount.h//#ifndef BANKACCOUNT_H_//#define BANKACCOUNT_H_#include<iostream>class CBankAccount{private: std::string m_name; std::string m_account; double m_saving;public: CBankAccount(const std::string name, const std::string ac
2021-07-13 00:41:39
228
原创 C++ Premier Plus丨编程练习答案丨第四章
C++ Premier Plus丨编程练习答案丨第四章#include<iostream>#include<string>#include<cstring>#include<array>using namespace std;int main(){ //4_1 /*string firstName = ""; string lastName = ""; char grade = 'a'; int age = 0; cout<<
2021-07-11 23:37:05
267
2
原创 C++ Prepmier Plus丨笔记丨第四章
C++ Prepmier Plus丨笔记丨第四章#include<iostream>#include<string>#include<array>using namespace std;int main(){ //ARRAY /*int yam[3]; int patato[3] = {3,4,5};//define it in this way, [] is allow to be empty BUT NOT RECOMMENDED yam[0] =
2021-07-11 21:24:56
134
原创 C++ Premier Plus丨编程练习答案丨第三章
未完成#include<iostream>using namespace std;int main(){ //3_1 /*const double inchToFoot = 12; int tall; cout<<"input your tall(int)(inch) "<<"___\b\b\b"; cin>>tall; cout<<endl; cout<<"your tall(foot) is "<<t
2021-07-09 18:52:59
287
原创 C++ Premier Plus丨笔记丨第三章
#include<iostream>using namespace std;int main(){ //负数 int test = -1; cout<<test<<endl; //sizeof cout<<"size of int is "<<sizeof(test)<<endl; //MAX and MIN cout<<"INT_MAX = "<<INT_MAX<<endl;//符
2021-07-09 14:55:04
230
原创 TortoiseSVN
SVN参考地址:[TortoiseSVN 和 VisualSVN Server 使用教程](https://blog.youkuaiyun.com/xgf415/article/details/75196360?ticket=ST-320828-pDpXdloXNOWBe6UPvTbb-passport.youkuaiyun.com)1. Visual SVN 与Tortoise SVNVisual SVN- 服务器端SVN- VisualSVN Server 是一个集成的 svn 服务端工具,可以对 SVN 的版本
2021-07-09 10:18:34
152
原创 C++ Primer Plus丨编程练习答案丨第二章
C++ Primer Plus编程练习答案丨第二章#include<iostream>using namespace std;int main(){ cout<<"My name is "<<"pyp"<<endl; cout<<"I'm living in "<<"HLG"<<endl; return 0;}#include<iostream>using namespace st
2021-07-08 18:27:54
247
原创 【深度学习-LOSS】loss曲线的各种情况对应解决办法
“loss的各种情况”【基础情况】train losstest loss情况解决办法下降下降网络仍在学习(????)增加EPOCH直到不再下降下降下降网络过拟合(????)减小层中units数 / 减小层数 / 简化网络结构不变下降数据集有问题(????)检查数据集不变不变学习遇到瓶颈(????)减小学习率 / 减小BATCH SIZE【补充情况】train losstest loss情况解决办法下降波动下
2021-04-20 02:01:39
7357
4
原创 【PYTHON-解决问题】使用GPU训练模型(.fit)时报错:Blas GEMM launch failed
【问题描述】使用GPU训练模型(.fit)时报错,返回Blas GEMM launch failed。使用nvidia-smi查看GPU状态,发现显存几乎占满,而GPU使用率极低。【问题解决】使用nvidia-smi查看GPU状态,找出占显存最多的一个进程,记下其PID号,使用kill PID号杀掉进程,即可正常训练。【补充说明】(nvidia-smi显示的GPU状态)...
2021-04-10 23:05:15
714
原创 【PYTHON-装包】pyemd与pyEMD
1.pyemd:并非用来做EMD分解的包,而是地球移动距离。同时,在已安装pyemd的前提下,使用pip install pyEMD来安装pyEMD包会出错如,在cmd中显示:“Failed building wheel for pyEMD”,且无法通过安装.whl文件解决或"Requirement already satisfied",且无法通过指定路径解决且,在python编译器中只能调用pyemd,而无法调用pyEMD2.pyEMD因此,应在cmd中用命令pip install EMD
2021-03-19 01:18:43
16439
16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅