- 博客(82)
- 资源 (9)
- 收藏
- 关注
原创 c++ 拷贝构造函数参数是否需要const
class A{public: A(){ cout<<"A constructor\n";} A(A& a){ cout<<"A copy constructor\n"; } ~A(){ cout<<"A destructor\n"; } };class B{public: B(){ cout<<"B constructor\n";} B(const B& a){ cout<.
2022-05-13 08:44:06 986
原创 c++ string 存储一个文件内容
如何实现string 存储一个小文件的全部内容std::ifstream input("one.txt", std::ios::binary)if(input.is_open()){ std::stringstream ss; ss << input.rdbuf(); cout << "file context: " << ss.str() << std::endl; std::string tmp(ss.str()); cout &
2021-01-17 20:38:19 3480
翻译 go method使用
type Vertex struct { X,Y int}func (v Vertex) Abs() float64 { return math.Sqrt(v.X*v.X+v.Y*v.Y)}func (v *Vertex) Scale(f float64) { v.X = v.X * f v.Y = v.Y *f}使用指针作为方法的接收者,可以修改指针指向的对象。使用值作为方法的接收者,操作只是作用到所指对象的拷贝方法以大写字母开头,此方法被导出.
2020-08-18 17:54:04 141
原创 electron 开发程序禁用gpu渲染
一个简单的electron开发的客户端启动会有一下进程进入gpu渲染方法 app.disableHardwareAcceleration(),这个方法必须在app ready之前调用。 ***.exe --disable-gpu 也可以禁用gpu。 不管使用哪种方式,electron开发的客户端启动的时候,都会有上图所示的四个进程。如何验证是否关闭了gpu渲染。如果使用gpu渲染,手动关闭gpu进程,程序会出现黑屏,当gpu进程回复之后,黑屏消失。如果没有使用gpu渲染,
2020-08-17 15:59:01 9418 1
原创 c++ 析构函数设置成私有
class One{ public: One(){ cout<<"constructor\n"; } private: ~One(){ cout<<"destructor\n"; } friend void Destroy(One *one);};void Destroy(One *one){ if(one != nullptr){ delete one }}i.
2020-08-06 09:55:15 2012
原创 warning C4346: “std::vector<_Type,std::allocator<_Ty>>::iterator”: 依赖名称不是类型
template<class T>using vIterator = std::vector<T>::iterator;void traverse(vIterator<int> beg, vIterator<int> end){ while(beg != end) { std::cout<<*beg<<std::endl; ++beg; }}编译的时候会出现wa..
2020-08-04 14:46:14 832
原创 windows系统中,主进程启动子进程使,子进程和主进程在同一个任务栏上显示
主进程和子进程设置相同的,AppUserModelIDs。可以通过函数SetCurrentProcessExplicitAppUserModelID function实现。SetCurrentProcessExplicitAppUserModelID(L"your appid");微软开发文档参考https://docs.microsoft.com/en-us/windows/win32/shell/appids...
2020-07-08 19:54:20 814
原创 signtool sign sha256
signtool 微软参考文档https://docs.microsoft.com/zh-cn/windows/win32/seccrypto/signtool使用signtool签名参考文档https://docs.microsoft.com/en-us/windows/win32/seccrypto/using-signtool-to-sign-a-filesha1签名方式signtool.exe sign /f MyCert.pfx /p <PFX password> /...
2020-06-29 16:27:18 1253
原创 windows console程序,隐藏控制台展示
1、使用#pragma comment(linker,"/subsystem:\"windows\" /entry:\"mainCRTStartup\"")#pragma comment(linker, "/subsystem:\"windows\" /entry:\"mainCRTStartup\"")int main(){ std::cout << "Hello World!\n"; }2、visual studio中设置。点击工程属性,选择链接器,系统,子系统,选
2020-06-03 11:38:36 649 1
原创 electron 7.x设置cookie出现的问题
4.x中设置cookiesconst cookie = {url:'http://.test.com',name:'one',value:'one-value'}session.defaultSession.cookies.set(cookie,(error)=>{ console.log(error)})7.x中使用这种方式,就会报无法解析cookie,必须这样使用...
2020-05-08 17:01:54 2642 1
原创 TypeError: Failed to execute 'fetch' on 'Window': Invalid value
javascript 中使用fetch发送http请求,出现TypeError: Failed to execute 'fetch' on 'Window': Invalid value错误。查看一下head中是否发送了中文,或者有字段值是乱码
2020-04-03 14:42:46 5799
原创 libuv使用ipc通信,结束方式
libuv提供了IPC通信模块,可以实现跨平台。一般的使用方法,是单独启动一个线程,来创建ipc,这个线程使用自己的事件循环。当我们想主动关闭ipc通信的时候,我们可以使用uv_close函数,释放我们创建的ipc通信流。注意这个释放一定是要在ipc创建的线程中实现。可以使用uv_async_send实现唤醒不同线程中的事件。这里面可以传递函数,也可以传递变量。传递变量的时候,一定注意变量的生...
2020-03-04 10:37:41 626
原创 远端branch和tag同名的时候,删除方法
git 删除远端分支,一般使用方法git push origin :branchNamegit push origin -d branchNamegit 删除远端tag,一般使用git push origin tag -d tagName当远端branch和tag是同一个名字的时候,使用上面方法删除分支,就会出现 error: dst refspec xxxx(b...
2020-02-19 12:56:17 1470
原创 oc和c++中给一个对象赋空值,对象调用方法产生的不同反应
c++ 代码,类对象赋值为空值class test{public: int age; char* name; void say() { std::cout<<"hello my name is "<<name<<std::endl; } void greet() ...
2020-02-18 22:05:21 1112
原创 python 中for循环的使用
学过c原因的同学,在遍历一个数组的值,最常用的方法就是使用for循环char* message[4]={"c","c++","java","c#"};for(int i=0; i<4; ++i){ printf("%s\n",message[i]);}for(auto ele : message) //c++ 11之后可以这样遍历{ p...
2020-01-22 14:49:18 440
原创 python 中序列解包使用
序列解包的几种使用方法1、给多个变量赋值x,y,z=1,2,32、交换两个变量的值x,y=y,x3、解析字典中返回值example={'one':'first','two':'second','three':'third'};key,value = example.popitem();序列解包的使用注意事项1、要解包的序列必须和等号左边列出的目标个数相同,...
2020-01-22 13:54:16 629
原创 python 列表访问方式
python 列表访问方式1、可以使用索引访问列表内容。序列中的索引编号,都是从0开始递增numbers=[1,2,3,4,5,6]numbers[0] //输出12、使用切片进行访问numbers=[1,2,3,4,5,6,7,8,9,10]numbers[1:4] //[2,3,4]numbers[0:1] /...
2020-01-22 11:05:36 6882
原创 qt 界面程序,运行的时候,打开控制台输出
qt 界面程序,运行的时候,控制台输出qDebug内容方法只需要在pro文件中配置CONFIG += console这样程序在运行的时候,就会打开控制台,输出debug内容这个方法,只在windows平台生效...
2020-01-21 17:10:52 2745 4
原创 electron 打开选择文件框
electron中有dialog模块,可以用来打来文件框,选择文件夹或者文件。两种实现方式1、可以通过ipc通信,main process,实现打开文件对话框的操作,然后把选择的文件夹或者文件再次通过ipc通信发送的render 进程。// in render.jsconst {ipcRenderer} = require('electron');function openD...
2020-01-21 14:35:47 10654
原创 electron-quick-start 使用style 标签出现设置的样式不起作用
electron-quick-start ,demo,在body 标签中使用style,设置的样式不起作用。,修改绿色框部分,为下面箭头所指部分。<metahtto-equiv="Content-Security-Policy"content="default-src'none';script-src'self'">...
2020-01-20 17:37:40 1916 2
原创 ++、--前置操作和后置操作的区别
1、运算符前置,是先进行计算,再取结果int i=0,j;int arr[10]={0};j = arr[++i]; //相当于 i=i+1; j=arr[i];变量i先进行加1,然后再使用2、运算符后置,是先进性赋值,然后再计算,再取结果int i=0,j;int arr[10]={0};j = arr[i++]; //相当于 j=arr[0];i=i+1;变量i...
2020-01-05 17:01:23 977
原创 css 布局中,子组件完全占满父组件的空间
1、可以使用宽度百分比的形式,下面的例子是各占一半<style>.main{ height:50px; width:200px; display:flex;}.left{ width:50%}.right{ width:50%}</style><div class='main'> <di...
2019-11-01 15:24:50 4186
转载 git 运行前的配置
Git 自带一个 git config 的工具来帮助设置Git外观和行为的配置变量。这些变量主要存储在三个不同的位置:/etc/gitconfig文件:包含系统上每一个用户及他们仓库的通用配置。如果使用带有 --system选项的git config时,它会从此文件读写配置变量。 ~/.gitconfig或~/.config/git/config文件:只针对当前用户。 可以传递--g...
2019-10-29 22:21:35 654
原创 Mac上安装了QT5.5编译的时候报错'cstddef' file not found
Mac版本是10.14,xcode是10.1,安装Qt5.5.1,编译qt example 中的demo,出现cstddef file not found。解决办法,方法1、在pro文件中,添加CONFIG += C++11方法2、指定mac的sdk依赖,比如QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.9...
2019-03-19 13:16:16 3385
转载 windows vscode安装go插件
vscode中有很多go的相关插件,非常好用如下:gocodegopkgsgo-outlinego-symbolsgurugorenamegomodifytagsgoplayimplgodefgoreturnsgolintgotestsdlv但是使用vscode 检查插件安装,会出现安装失败的情况。下面介绍如何安装失败的插件进行如下命令进行目录切换:cd ...
2019-01-30 20:42:38 2149
原创 排序-----选择排序
选择排序算法思想:首选从数组中选择最小的一个元素,将其和第一个位置的数据交换 接着从n-1个数据中选择次小的一个元素,将其和第二个位置交换元素 不断重复,知道最后两个元素交换,完成排序void SelectSort(int *arr, int len){ for (int i=0; i<len; ++i) { for (int j=i+1; j<len; ++j)...
2019-01-29 12:00:56 98
原创 排序----插入排序
插入排序算法基本思路:首先对前两个数据进行大小比较 接着从第三个数与拍好的前两个数进行比较,将第三个数插入到合适的位置 不断重复上述过程,直到把最后一个元素插入到合适的位void InsertSort(int *arr, int len){ for (int i=1; i<len; ++i) { int tmp = arr[i]; for (int j=i-1; j...
2019-01-29 11:54:17 92
原创 排序---冒泡排序
基本思路:通过相邻数据的交换来达到排序的目的排顺流程:对数组的各数据,依次比较相邻的两个元素的大小 如果前面的数据大于后面的数据就交换位置。经过第一轮可以把最大值求出来,排在最后端 然后,再以同样的方法把剩下的元素进行比较,最后便可以得到从小到大的排好序的数组void BubbleSort(int* arr, int len){ for (int i=0; i<len...
2019-01-25 12:38:40 142
原创 分治算法找假币问题
int CheckMoney(int arr[], int left, int right){ int sum1=0, sum2=0, sum3=0; if ((right-left+1)%2 == 0) //偶数 { if (left + 1 == right) { if (arr[left] < arr[right]) { return left;...
2019-01-25 11:34:37 5106 1
原创 求二叉树节点值的和
struct node{ node* left; node* right; int value; node(int v):value(v),left(nullptr),right(nullptr){}};int sum(const node* root){ if (root != nullptr) { if (root->left == nullptr &&...
2019-01-24 21:54:08 4812
原创 字符串中查找子串,并返回子串相对字符换的位置
int FindSubstring(const char* all, const char* sub){ int all_len = strlen(all); int sub_len = strlen(sub); int i = 0, j = 0; for (;i<all_len;++i) { if (all[i] == sub[0]) { for (j=1; j...
2019-01-24 21:02:06 724
原创 判断一个十位数是不是回文数
回文数的特点是,若将n的各位数字反向排列所得自然数n1与n相等,则称n为一回文数。12321是回文数,1233不是bool IsPlaindrome(int num){ std::vector<int> tmp; int last = num % 10; int remind = num; while (remind>0) { tmp.push_back(l...
2019-01-24 20:48:47 293
原创 结构体大小的计算
结构体中的成员可以是不同的数据类型,成员按照定义时的顺序依次存储在连续的内存空间。和数组不一样的是,结构体的大小不是所有成员大小简单的相加,需要考虑到系统在存储结构体变量时的地址对齐问题。首先需要知道偏移量的定义,结构体变量中成员的地址和结构体变量地址的差值。结构体大小等于最后一个成员的偏移量加上最后一个成员的大小。显然,结构体变量中第一个成员的地址就是结构体变量的首地址,因此,第一个成员的偏...
2019-01-23 21:51:13 169
翻译 shared_ptr中高级应用
在编写基于虚函数的多态代码时,指针的类型转换很有用,比如把一个基类的指针转换成一个派生类的指针或者反过来。但是对于shared_ptr不能使用诸如static_cast<T*>(p.get())的形式,这样会导致转型后的指针无法再被shared_ptr正确管理。为了支持类似的用法,shared_ptr提供了类似的转型函数,static_pointer_cast<T>()...
2019-01-21 18:37:34 1467 1
翻译 API包装器模式--外观模式
外观模式能够为一组类提供简化的接口。它实际上定义了一个更高层次的接口,以使底层子系统更易于使用。外观模式是多组件包装器的一个示例。外观模式还可以将底层子系统和公有接口完全分离,进而底层类不可再访问。...
2019-01-16 22:46:45 404
Qt 使用paint的一些简单使用和系统托盘的简单应用,实现只能通过系统托盘关闭,才能关闭程序
2018-05-22
visual studio 高级编程2015.pdf
2017-09-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人