Posts
All the articles I've posted.
c++ 性能优化策略
Published: at 04:01 AM大的方面:程序架构,算法,数据结构。 1 关于继承:不可否认良好的抽象设计可以让程序更清晰,代码更看起来更好,但是她也是有损失的,在继承体系中子类的创建会调用父类的构造函数,销毁时会调用父类的析构函数,这种消耗会随着继承的深度直线上升,所以不要过度的抽象和继承。...
简单有理数(Rational)实现
Published: at 03:03 PMclass Rational { public Rational(int a = 0, int b = 1) a(a), b(b) { } Rational(const Rational &rhs) a(rhs.a()), b(rhs.b()) { } const Rational operator=(const Rational& rhs) { return Rational(rhs.a, rhs.b)...
C++惯用法
Published: at 01:50 PM虚基类中要实现virtual析构函数 否则,在下面的例子中子类Dog得不到释放 include <iostream> include <memory> class Animals { public Animals() { stdcout << "Animals" << stdendl; } virtual Animals() // 一定要是virtual析构 { ...
C++ windows实用函数
Published: at 10:08 AM收集的一些比较实用的函数,头文件依赖(不包括全部): include <TlHelp32.h> include <psapi.h> include <Windows.h> include <time.h> include <algorithm> include <iterator> include <io.h> include <direct.h> include <assert.h> include <sstream> ...
bug修复,for循环倒叙遍历的时候千万不要用size_t等无符号整型
Published: at 02:38 PMbug修复,for循环倒叙遍历的时候千万不要用sizet 如下代码: stdvector<int> x = { 1, 2, 3, 4, 5 }; for (sizet i = x.size() - 1; i >= 0; i--) { stdcout << xi << stdendl; } 由于sizet是unsigned int无符号整型,所以当i为0时候再继续i...
C++ String正确实现以及关键点
Published: at 04:17 PM正确实现String可以考察C++的一些基本功,稍不注意就会出错,下面来列举一下关键点: 1. 构造函数,拷贝构造,赋值操作符是必须的; 2. 成员初始化列表执行顺序; 3. cstr()不要返回空指针; 4. 实现swap函数; 5. 分配内存的时候要用外面传进来的size; 6. 赋值操作符的实...
我的云服务器开机自启动所有服务
Published: at 11:28 AM我的云服务器上目前部署的是我的博客,每次重启服务器都要重启一下所有程序蛮麻烦的,所以这次把它自动化了。重启系统后自动执行脚本部署所有服务。 目前服务器上如下服务需要重启: nginx:反向代理 mongodb:数据库 3inns:我的博客 ningto:新版博客(react) Node...
CentOs7 防火墙firewalld基本使用方法
Published: at 01:39 AM1.firewalld的基本使用 启动: systemctl start firewalld 查看状态: systemctl status firewalld 停止: systemctl disable firewalld 禁用: systemctl stop firewalld 2.systemctl是CentOS7的服务管理工具中主要的工具,它融合之前service和chkconfig...
bug修复,解决延迟搜索的问题
Published: at 10:09 AM在输入框进行搜索的时候,通常我们每输入一个文字都要进行一次搜索,这样能得到实时的搜索结果。如果搜索速度很快的话当然是没问题的。 如果搜索的速度慢,当用户快速输入的时候就会很卡了。 其实在用户快速输入的时候对中间搜索的结果并不感兴趣,最后的结果才是我们想要...
bug修复,内存释放问题
Published: at 09:50 AM碰到了一个内存释放的问题,在进行某个复杂的操作时内存释放后否则会造成崩溃。经过多方面调查发现此时根据就不能释放内存(历史原因),否则会造成不可预知的问题。所以我打算把要删除的指针暂时保存起来,并不立马delete,等到10秒钟还没有操作的时候(稍微空闲)再把保存的指针...