摘要: 最少知识原则(Least Knowledge Principle) 最少知识原则(Least Knowledge Principle),或者称迪米特法则(Law of Demeter),是一种面向对象程序设计的指导原则,它描述了一种保持代码松耦合的策略。其可简单的归纳为: Each unit sho 阅读全文
posted @ 2017-10-17 22:50 lsgxeva 阅读(1022) 评论(0) 推荐(0)
摘要: 接口分离原则(Interface Segregation Principle) 接口分离原则(Interface Segregation Principle)用于处理胖接口(fat interface)所带来的问题。如果类的接口定义暴露了过多的行为,则说明这个类的接口定义内聚程度不够好。换句话说,类 阅读全文
posted @ 2017-10-17 22:49 lsgxeva 阅读(944) 评论(0) 推荐(0)
摘要: 开放封闭原则(Open Closed Principle) 在面向对象的设计中有很多流行的思想,比如说 "所有的成员变量都应该设置为私有(Private)","要避免使用全局变量(Global Variables)","使用运行时类型识别(RTTI:Run Time Type Identificat 阅读全文
posted @ 2017-10-17 22:48 lsgxeva 阅读(477) 评论(0) 推荐(0)
摘要: 单一职责原则(SRP:The Single Responsibility Principle) 一个类应该有且只有一个变化的原因。 There should never be more than one reason for a class to change. 为什么将不同的职责分离到单独的类中是 阅读全文
posted @ 2017-10-17 22:46 lsgxeva 阅读(410) 评论(0) 推荐(0)
摘要: 里氏替换原则(Liskov Substitution Principle) 开放封闭原则(Open Closed Principle)是构建可维护性和可重用性代码的基础。它强调设计良好的代码可以不通过修改而扩展,新的功能通过添加新的代码来实现,而不需要更改已有的可工作的代码。抽象(Abstracti 阅读全文
posted @ 2017-10-17 22:44 lsgxeva 阅读(430) 评论(0) 推荐(0)
摘要: C++类内存分布 来源 http://www.cnblogs.com/jerry19880126/p/3616999.html 书上类继承相关章节到这里就结束了,这里不妨说下C++内存分布结构,我们来看看编译器是怎么处理类成员内存分布的,特别是在继承、虚函数存在的情况下。 工欲善其事,必先利其器,我 阅读全文
posted @ 2017-10-17 20:47 lsgxeva 阅读(744) 评论(0) 推荐(0)
摘要: glog 使用 来源:http://www.cnblogs.com/tianyajuanke/archive/2013/02/22/2921850.html 一、安装配置 1、简介 google 出的一个C++轻量级日志库,支持以下功能: ◆ 参数设置,以命令行参数的方式设置标志参数来控制日志记录行 阅读全文
posted @ 2017-10-15 13:09 lsgxeva 阅读(2198) 评论(0) 推荐(0)
摘要: C++11 static_assert C++0x中引入了static_assert这个关键字,用来做编译期间的断言,因此叫做静态断言。 其语法:static_assert(常量表达式,提示字符串)。 如果第一个参数常量表达式的值为false,会产生一条编译错误,错误位置就是该static_asse 阅读全文
posted @ 2017-10-15 00:41 lsgxeva 阅读(417) 评论(0) 推荐(0)
摘要: C++ 获取时间 头文件 chrono, 命名空间 std. 现在时间 std::chrono::system_clock::now() 返回系统时钟的当前时间 时钟 std::chrono::system_clock 代表系统当前的时间, 是不稳定的时钟, 并且提供了函数可将时间点转化为 time 阅读全文
posted @ 2017-10-14 23:00 lsgxeva 阅读(3352) 评论(0) 推荐(0)
摘要: stl中auto_ptr,unique_ptr,shared_ptr,weak_ptr四种智能指针使用总结 1. auto_ptrauto_ptr主要是用来解决资源自动释放的问题,比如如下代码:void Function(){Obj*p = new Obj(20);...if (error occo 阅读全文
posted @ 2017-10-14 22:38 lsgxeva 阅读(1303) 评论(0) 推荐(0)