C++11 —— override和final 发表于 2016-04-29 | 更新于 2018-11-19 | 分类于 程序设计 override 多态行为的基础:基类声明虚函数,派生类声明一个虚函数覆写该虚函数 覆盖要求:函数签名一致(函数签名包括:函数名、参数列表、const) 阅读全文 »
如何释放vector的闲置空间 发表于 2016-04-29 | 更新于 2018-11-19 | 分类于 程序设计 std::vector的容量操作C++ STL容器vector对于容量的操作是只增不减,如下面的代码: 123456789101112131415vector<int> v;v.push_back(12); // capacity: 1v.push_back(22);// capacity: 1 * 2 = 2v.push_back(32);// capacity: 2 * 2 = 4cout << v.capacity() << endl; // 4v.insert(v.begin(), 12, 86);cout << v.capacity() << endl; // 15// 删除第 3 个到倒数第 2 个元素(不含)之间的所有元素v.erase(v.begin() + 2, v.end() - 2);cout << v.size() << endl; // size: 4cout << v.capacity() << endl; // 15 < #1v.clear();cout << v.capacity() << endl; // 15 < #2v.reserve(0);cout << v.capacity() << endl; // 15 < #3 阅读全文 »
开发者应该具备的15个编程好习惯 发表于 2016-04-29 | 更新于 2018-11-19 | 分类于 文章摘录 动手编码之前,你需要对要编码实现的解决方案有一个正式的或粗略的设计。永远不要在没有任何设计的前提下就开始编码,除非所编代码不重要。 优秀的代码文档跟编程语言知识一样重要。在代码源文件中,为每个主要的代码段添加注释,解释代码的基本逻辑。最好注明程序的构建和修改日期,以及修改的原因也是非常有必要的。 阅读全文 »
Python高级编程(六) 发表于 2016-04-29 | 更新于 2018-11-19 | 分类于 Python 使用zc.buildoutzc.buildout原理virtualenv对于隔离一个python环境相当方便。zc.buildout提供了相同的隔离功能,并且进一步提供了: 一个简单的、在一个配置文件中定义这些依赖性的描述性语言 提供链接代码调用组合的输入点的插件系统 一种部署和发行应用程序源代码及其执行环境的方法 阅读全文 »
Python高级编程(五) 发表于 2016-04-29 | 更新于 2018-11-19 | 分类于 Python 编写一个应用程序Atomisator概述整体描述工作环境编写各个包分发Atomisator包之间的依赖性小结
Python高级编程(四) 发表于 2016-04-28 | 更新于 2018-11-19 | 分类于 Python 编写一个包用于所有包的公共模块setup.py模板: 12from setuptools import setupsetup(name='tools.name') 阅读全文 »
Python高级编程(二) 发表于 2016-04-28 | 更新于 2018-11-19 | 分类于 Python 语法最佳实践——类级子类化内建类型访问超类中的方法super是一个内建类型,用来访问属于某个对象的超类中的特性(attribute),虽然它的使用与函数类似,但是它实际上仍然是一个内建类型。 阅读全文 »
Python高级编程(一) 发表于 2016-04-28 | 更新于 2018-11-19 | 分类于 Python 语法最佳实践——低于类级列表推导(List Comprehensions)1[ i for i in range(10) if i % 2 == 0] 每当要对序列中的内容进行循环处理时,就应该尝试用List Comprehensions来代替它。 阅读全文 »
Electron快速入门 发表于 2016-04-28 | 更新于 2018-12-23 | 分类于 Nodejs Electron简介Electron是一种可以使用网页技术来开发跨平台桌面应用的解决方案,用html,css和js就可以写桌面应用。 阅读全文 »