摘要: 1.不要使用auto_ptr。 scoped_ptr,auto_ptr都是表达唯一所有权持有者的,区别在于,scoped_ptr的所有权是从一而终的,auto_ptr则允许用户以很自然的方式转交资源。两者的设计理念都保证同一时刻所有权持有者唯一。 auto_ptr的好处是显而易见的。比如你在用vec 阅读全文
posted @ 2016-04-18 15:33 Jax.Li 阅读(1413) 评论(0) 推荐(0) 编辑
摘要: 对象创建和销毁 1. 用静态工厂方法代替构造器。 2.遇到多个参数构造器时考虑用构建器。 3.用私有构造器或枚举型强化Singleton。 推荐使用枚举型,可以避免拷贝和重复创建的问题。 4.通过私有构造器强化不可实例化的能力。 5.避免创建不必要的对象。 尽量使用String str = "XXX 阅读全文
posted @ 2016-04-17 16:01 Jax.Li 阅读(335) 评论(0) 推荐(0) 编辑
摘要: 当一个对象含有多个成员变量且创建对象时需要初始化时,直接使用构造器来初始化会造成使用上的不便。例如 通常的做法是提供重叠构造器,首先提供一个只有必要参数的构造器,然后不断增加包含可选参数的构造器,直至包含所有的可选参数。例如 如果只需要后面的可选参数,但调用的时候必须提供前面的可选参数。而且参数很长 阅读全文
posted @ 2016-04-15 17:35 Jax.Li 阅读(655) 评论(0) 推荐(0) 编辑
摘要: 1. 网络协议的分层,有四个层次,从下向上分别是: 链路层:也称作数据链路层或网络接口层。主要处理物理接口的细节 网络层:也称作互联网层,处理分组在网络中的活动。在TCP/IP协议族中网络层协议包括IP、ICMP和IGMP。 运输层:为两台主机上的应用程序提供端到端的通信。在TCP/IP协议族中有两 阅读全文
posted @ 2016-04-15 13:57 Jax.Li 阅读(350) 评论(0) 推荐(0) 编辑
摘要: 1.安装MySQL CentOS7中默认安装了MySQL系列的数据库,需要先卸载掉。 查看当前安装的mariadb包: [root@bogon desktop]# rpm -qa | grep mariadb 将它们统统强制性卸载掉: [root@bogon 桌面]# rpm -e --nodeps 阅读全文
posted @ 2016-04-08 20:54 Jax.Li 阅读(13880) 评论(0) 推荐(0) 编辑
摘要: Java和C++中都提供了多线程编程的方式,实现的方法也很相似。 其中的主要和区别有: 1.C++中子线程都是在主线程的运行都是在main()方法的生命周期中运行的,而Java的子线程的生命周期可以延续到main()方法的外面。 例如CPP 启动线程之后必须要调用join()让线程正常退出,否则程序 阅读全文
posted @ 2016-04-07 13:56 Jax.Li 阅读(2991) 评论(0) 推荐(0) 编辑
摘要: 先上效果图,实现方法就是设置WA_TranslucentBackground属性,并禁止窗口自动填充背景。#include #include #include class CMainWindow : public QMainWindow{public: CMainWindow(QWidget*... 阅读全文
posted @ 2015-09-08 17:19 Jax.Li 阅读(1613) 评论(0) 推荐(0) 编辑
摘要: lldb中默认没有对于QString的支持,需要自己添加。1. 在用户目录下创建~/.lldb文件夹,并在文件夹中创建`qstring.py`文件。qstring.py中内容为:import lldb def utf16string_summary(value, *rest): ... 阅读全文
posted @ 2015-08-29 13:18 Jax.Li 阅读(687) 评论(1) 推荐(0) 编辑
摘要: 为了避免主界面的卡顿等问题,所有的网络操作都应该放到工作线程中执行。这种需求带来的一个问题就是编码的不方便,如果要把工作的内容单独写到一个类或方法里面然后创建线程来执行会给编码和维护带来很大的麻烦。QT提供了一种线程池技术来解决这个问题,把一些需要在单独线程中执行的操作放到线程池中执行,可以避免手动... 阅读全文
posted @ 2015-08-20 10:25 Jax.Li 阅读(3152) 评论(0) 推荐(1) 编辑
摘要: Qt中提供了三种在主线程之外创建工作线程的方法:1. 继承QThread;2.继承QObject,然后使用moveToThread(QThread*targetThread)将对象移动到工作线程中执行;3.继承QRunnable,并将创建的对象移动到QThreadPool中进行执行。Qt官方建议仅仅... 阅读全文
posted @ 2015-07-09 12:42 Jax.Li 阅读(1869) 评论(0) 推荐(0) 编辑