一.按顺序逐步执行的脚本程序: 二.编译器自动优化 1.不超数据类型范围编译器自动添加强转操作: 2.一但发生运算,byte/short/char都会自动提升为Int,当只有常量参与运算时,编译器会先斩后奏,将常量运算结果再进行赋值,因为常量不会变:…
Effective C++ chapter 2. 构造 / 析构 / 赋值运算 (Constructors, Destructors, and Assignment Operators) Item 6. 若不想使用编译器自动生成的函数,就该明确拒绝 (Explicitly disallow the use of compiler-generated functions you do not want) 地产中介商卖的是房子,一个中介软件系统自然而然想必有个 class 用来描述待售房屋: cla…
新版本—— http://www.cnblogs.com/zyl910/p/zlstdint_v100.html[C] zlstdint(让VC.TC等编译器自动兼容C99的整数类型)V1.0.支持Turbo C++ 3等DOS下的编译器 作者:zyl910 一.改动简介 V1.02版的改动如下—— 将源码上传到github. 调整目录结构. 添加CMake编译配置文件. 使用doxygen规范注释. 修正 __AUTO_STDINT_H_USESYS 误为 _INTTYPES_H_SYS_ 的…
(整理自Effctive C++,转载请注明.整理者:华科小涛@http://www.cnblogs.com/hust-ghtao/) 通常如果你不希望class支持某一特定机能,只要不声明对应函数就是了.但这个策略对copy构造函数和copy assignment操作符却不起作用,你如果不声明它们,而某些人尝试调用它,编译器会为你声明它们. 这把你逼到了一个困境.如果你不声明copy构造函数和copy assignment操作符,编译器可能为你产出一份,于是你的clas支持copying.如果…
一.前言 最近,需要接触区块链项目的主链开发,在EOS.BTC.ethereum.超级账本这几种区块链技术当中,相互对比后,最终还是以go-ethereum为解决方案. 以ethereum为基准去找解决方案,最终找到了2个符合自己要求的方案,分别如下:美图.gttc.本来是想用gttc的这个解决方案的,但是它是基于go-ethereum最新源码来进行二次开发的,相对不稳定,因此还是用美图的解决方案了,毕竟这公司大一点,没那么多坑. 二.源码 为了方便测试,我们需要将节点最大验证器数修改一下,这样…
<DB2数据库性能调整和优化(第2版)> 基本信息 作者: 牛新庄 出版社:清华大学出版社 ISBN:9787302325260 上架时间:2013-7-3 出版日期:2013 年7月 开本:16开 页码:528 版次:2-1 所属分类:计算机 > 数据库 > DB2 更多关于 >>><DB2数据库性能调整和优化(第2版)> 内容简介 计算机书籍 <db2数据库性能调整和优化(第2版)>侧重于介绍db2数据库的性能调优.性能调优是一个系统工…
十大优化法则 1.更快(本课程重点!) 2.更省(存储空间.运行空间) 3.更美(UI 交互) 4.更正确(本课程重点!各种条件下) 5.更可靠 6.可移植 7.更强大(功能) 8.更方便(使用) 9.更范(格式符合编程规范.接口规范 ) 10.更易懂(能读明白.有注释.模块化) 优化概述 十五种优化思路的名称,原理,实现方案 面向存储器的优化:cache无处不在 消除循环的低效率 比如二维数组遍历运算中,按列枚举改为按行枚举,这是因为二维数组在内存的存储顺序是按行顺序存储的. 重新排列提高空间…
为驳回编译器自动提供的功能,可将相应的成员函数声明为private并且不予实现. 使用像Uncopyable这样的base class也是一种做法(即先声明一个基类,然后私有继承它).这其实有点像使用Boost提供的版本,那个class名为noncopyable.…
作者:zyl910 以前我曾为了让VC++等编译器支持C99的整数类型,便编写了c99int库来智能处理(http://www.cnblogs.com/zyl910/p/c99int_v102.html).如今为了兼容Turbo C++ 3等DOS下的编译器,做了重大改变,不再适合沿用旧名,于是采用了zlstdint这个新名. 一.用法简介 用法很简单——把z_stdint.h.z_inttyp.h这2个文件放到你的项目中,便可以正常的使用C99整数类型及相关的宏了. 范例代码—— #defin…
一.为驳回编译器自动提供的机能,可将相应成员函数声明为private并且不予实现.(如果你仅仅是自己不实现的话,编译器会帮你实现) 如: class A { public: A(const string& name):m_name(name) {} private: //拒绝copy和赋值,声明为private,并且只声明不实现 A(const A&); A& operator=(const A&); private: string m_name; }; 二.对于拒绝赋值的…