记一次项目总结
1.引言 这两周在开发一个新功能,今天测试同事测试后发现有许多bug,有些我觉得是可以避免的,所以这次来说一说 2.经验 这是今天的经验 考虑指针为空,或者访问数据为空的情况,用string的话,也要注意是否字符串有问题 比如我需要从接口那获得两个字段,用代码把这两个字段经过一些处理获得一个有用的信息,但是由于某个字段有问题,而又用到了指针或者string相...
1.引言 这两周在开发一个新功能,今天测试同事测试后发现有许多bug,有些我觉得是可以避免的,所以这次来说一说 2.经验 这是今天的经验 考虑指针为空,或者访问数据为空的情况,用string的话,也要注意是否字符串有问题 比如我需要从接口那获得两个字段,用代码把这两个字段经过一些处理获得一个有用的信息,但是由于某个字段有问题,而又用到了指针或者string相...
1.引言 由于这段时间遇到项目上的wstring,并且之前听说C++对字符串的处理非常弱,所以想总结下C++处理字符串的方式 会有以下的部分 C风格字符串 标准库中std::string和std::wstring 标准库中的ostringstream类 getline函数 C++17中的std::string_view C++20中的char8_t C++...
1.引言 这篇文章的由来是在项目中遇到了wstring,之前听说过C++对字符串的处理很繁琐,没有一个好用的,所以现在先简单总结下C++中对字符串的处理方法 下面会介绍C语言的char*,C++标准库的string,wstring,stringstream,Boost库中的split函数,C++17引入的string_view类 注意C++中没有split,但是可以通过stringst...
1.引言 这几天在做一个项目,遇到了想保存单例B里面的数据,于是用了一个单例A A类里面定义B的对象,想保存单例B某时的状态,所以头文件里有B.h B类里面的某个成员函数实现需要先实例化A,然后把单例B的状态存在A中的B对象里,所以我在B的头文件里写了A.h 这时候编译器就报错了,提示我们不能在A.h中定义B b //A.h #include"B.h" class A { /...
1.引言 项目上总是用到单例,所以做一个小总结,之前在学校学习设计模式像背八股文一样,毫无实践可言 2.解决什么问题 首先说单例是解决什么问题的呢 像我们有个两台打印机,但是点击打印的时候,只让一台来打印就可以,如果两个都打印,显然是错的,所以单例就是让类只有一个实例,比如电脑中的窗口,一个窗口只能被一个实例所控制,如果多个实例控制一个窗口,那就乱了 简单理解就是一个类只由一个它所...
1.引言 每次拉取和推送github时,总被超时所困扰,后来想到代理的话有规则和全局,规则就是只对国外网站采用代理,全局就是用代理访问所有网站 思索一下,那就想能不能让git也设置为规则代理的模式,也就是说,让git指定通过代理走github,说干就干,发现还真的可以 2.操作 4780就是自己代理的端口,可以在代理软件上自己使用的端口 git config --global ht...
1.起源 由于我要迁移主题到chirpy,而chirpy显示目录的最高标题是从二级标题开始,所以就要修改我所有的文章,那我就想,能不能自己写个cpp程序,自动将标题降级呢,比如一级标题降到二级之类的 2.设计方案 既然打算用cpp写,这又是个查找替换的问题,所以想到了采用正则表达式来做 std::regex pattern(R"(^(#+)(\s\d+))"); 这是把# 1.1...
1.引言 想写这个程序的起因是我们即将要开发三维CAD相关,所以用到OSG,但是OSG的安装过于繁琐,我们的项目下个月就要开始了,所以想着自己写个程序帮助同事们直接跳过最繁琐的配置环节,今天虽然是周六并且我还在发烧,但中午仍然是干了4个小时,写出来了这个程序,现在只把源码放上来,挖坑以后再填,具体的使用方法请看这里:OSG源码下载后,快速配置Cmake的C++程序 2.源码 #inc...
1.导言 本来是在C++群里回答一个很简单的类型转换后判断字节的问题,后来发现代码中有个点还蛮有意思的,所以记录下来 2.场景 有这个代码 int a = 5; sizeof(a++); cout << a << endl; 我发现a竟然输出的5,来想自增后不是变成6吗 这是因为 sizeof 是一个编译时运算符,它不会对其操作数进行求值。在这个例子中,...
1.可调用对象 1.1.函数指针 void myfunc(int tv) { cout << "myfunc()函数执行了, tv = " << tv << endl; } int main() { void(*pmf)(int) = &myfunc;//定义一个函数指针pmf并给了初值 pmf(15);//调用函数,这...