- 博客(18)
- 问答 (2)
- 收藏
- 关注
原创 linux(mac)递归遍历文件夹
#include <sys/stat.h>#include <dirent.h>#include <string>void RecurseFolder(const char* pInputPath){ DIR* dir = opendir(pInputPath); if (!dir) return; char name[512]; struct dirent *pEntry; while ((pEnt.
2021-01-21 19:14:16 666
原创 c++连接符、可变参数
转载:https://blog.csdn.net/bat67/article/details/77542165https://blog.csdn.net/firetaker/article/details/7381345应用:不同平台下打印中文#ifdef _WIN32#define Demo_Print(a, ...) do{wprintf(L##a, __VA_ARGS__);}while(0)#else#define Demo_Print(a, args...) do.
2021-01-06 14:43:41 366
原创 Gerrit评审报错[remote rejected] develop-」 refs/for/develop(no new changes)
有时候,在执行git merge origin/*** 到当前分支后,执行git push origin ***:refs/for/*** 会失败,提示remoterejected这时候回退当前分支到初始状态,使用git merge origin/*** --no-ff,阻止fast forward就可以了
2020-07-08 19:20:50 738
原创 int强转为uint64
int n ;uint64_t nRes = n;当n>0时,nRes == n但当n<0时,发现nRes会变成一个很大的数带符号的类型强转成unsigned类型,高位会自动补符号位的字符eg:n十六进制是80000001时,nRes十六进制会是FFFFFFFF80000001...
2020-06-09 16:36:04 3370
原创 void** 二级指针的一个应用
我之前对二级指针接触很少,函数传入参数我也比较喜欢使用&而不是*来操作,但是最近在项目代码中发现了如下代码int *a = new int(1);int *b = new int(2);*(void**)a = b最开始,我百思不得其解,这到底是是啥意思,难道与*a=b不等效吗?但是明显*a=b是编译失败的,然后,???别问,问就写demo,talk is cheap, ...
2020-02-14 12:57:16 242
原创 分支合并-rebase
merge会使得log错综复杂,但是会保留时间线rebase会保持log为一条线,但是最后log上的节点不是最原始commit的节点,不保留时间线。当前分支的节点会被复制到rebase 分支的节点后面,然后将原始的commit节点删除。假设现在本地仓库中有两个分支:master分支和branch1分支,提交历史用图来表示如下1. git merge现在要合并dev_te...
2019-12-13 15:02:02 1494
原创 Git日志压缩
在日常功能研发时,可能会在本地仓库commit多次,但这些commit对于远端来说,当做一个原子操作push是最合适的,此时应该怎么做?1. commit --amendcommit时就合并到最后一次commit中,命令:git commit --amend此时,当前commit的内容会与上一次commit的内容合并。但是,如果上一次commit的内容已经push了,一定不...
2019-12-13 14:53:20 623
原创 本地仓库有多条commit,如何push某一条commit到远端
当本地有多次提交,但是还不需要push的情况下,修改了某个bug需要马上push,此时如何操作1. 在当前工作分支修改bug,commit到本地仓库2. 查看log并记录下本次commit的GUID( 如fcf254130febba917639d9b4965b324ad76a06a6)2. 创建临时分支tempbranch为本地分支名,origin/feature/f_clo...
2019-12-13 14:44:01 7722 3
原创 c++隐藏
在一次偶然的写代码过程中,遇到了这个语法点,特意记录一下class A{public: virtual void f(int) {} virtual void f(vector<int>&) {}};class B : public A{public: virtual void f(vector<int>&) ov...
2019-10-31 10:49:12 316
原创 VS查看C++类对象模型内存布局方法
1. 打开vs项目属性>配置属性>c/c++>命令行2. 在其它选项中添加如下命令/d1 reportAllClassLayout 是查看所有类的布局/d1 reportSingleClassLayoutXX 其中"XX"是填入你想查看的类的名字3. 配置之后,保存。然后重新编译该项目,在[输出]中可看到下图...
2019-07-18 11:18:34 1683
原创 非qt项目生成的dll 如何转成qt的dll
把工程类型由VS该为Qt4VSv1.0改之前右键项目,发现qt的一些选项都是灰显的,改完之后重启VS,发现变成下面这样了成功亮显,转换成功,然后生成该项目,就能生成对应的dll了...
2018-03-21 15:44:22 299
原创 Git使用过程中的记录
1. git stash 本地修改了一些东西,例如项目属性,不能随意提交而且在pull远端代码后,这些修改还想要,此时便可以使用git stash
2018-03-21 14:53:00 134
原创 Qt 回车键小坑
小键盘Enter: ENTER左边的Enter: RETURN一般键盘上会有两个ENTER键,在使用qt时,对回车事件进行处理,keyPressEvent或者EventFilter中,需要区分这两个事件,之前只处理了Return,此时小键盘的enter还是没有受到管控的。...
2018-03-21 14:49:11 2134
原创 Qt paintEvent中调用upDate
在paintEvent中调用upDate之后,会存在大量的内存泄漏。Qt文档中特别强调,在paintEvent中要避免使用upDate和rePaint,否则会出现不可预知的问题
2018-02-26 09:32:37 2896
原创 回文数
bool isPalindrome(int x) { if(x < 0 || x % 10 == 0) return false; int revhalf = 0, slow = x, fast = x; while(fast) { revhalf = revhalf * 10 + slow % 10; slow /= 10; ...
2018-02-09 17:55:30 171
原创 c++ bind
回调函数bind介绍 (1)基本用法 auto newCallable = bind(callable, arg_list); arg_list是一个以逗号分割的参数列表,对应callable中的参数,就是当我们调用newCallable 的时候,newCallable 会调用callable,并且传入arg_list中的参数. arg_l
2018-01-29 14:24:01 246
原创 c++ magic Number
0xCDCDCDCDUsed by Microsoft's C++ debugging runtime library to mark uninitialised heap memory0xFEEEFEEEUsed by Microsoft's HeapFree to mark freed heap memory0xDDDDDDDD
2018-01-29 14:17:51 673
空空如也
mac下android studio 无法识别真机,如何解决?
2020-03-26
c++导出excel时,添加水印
2018-05-04
TA创建的收藏夹 TA关注的收藏夹
TA关注的人