const关键字 发表于 2015-03-03 | 分类于 编程基础 历史#define的弊端太多,于是引入了const,所以尽量使用const替代define; 作用范围const定义的常量的作用域类似与static,只能被当前文件访问。 作用1.修饰变量,说明该变量不可以被改变;2.修饰指针,分为指向常量的指针和指针常量;3.常量引用,经常用于形参类型,即避免了拷 ... 阅读全文 »
static关键字 发表于 2015-03-02 | 分类于 编程基础 static关键字 static 是C/C++中很常用的修饰符,它被用来控制变量的存储方式和可见性。 static的引入 我们知道在函数内部定义的变量,当程序执行到它的定义处时,编译器为它在栈上分配空间,函数在栈上分配的空间在此函数执行结束时会释放掉,这样就产生了一个问题: 如果想将函数中此变量 ... 阅读全文 »
头文件重复引用 发表于 2015-03-01 | 分类于 编程基础 一般情况下为了解决头文件重复包含的问题,有两种解决方法:条件编译和#pragma once;但是这种只能解决程序编译时的变量重复定义问题。在这里我们要注意一点,变量,函数,类,结构体的重复定义不仅会发生在源程序编译的时候,在目标程序链接的时候同样也有可能发生。我们知道c/c++编译的基本单元是.c或 ... 阅读全文 »
mysql索引 发表于 2015-01-23 | 分类于 数据库 索引是什么索引是为了加速对表中数据行的检索而创建的一种分散的存储结构。索引存储着数据库数据在磁盘上的物理地址,查询时利用索引可以加快执行速度,尤其是数据量比较大时,索引的效果非常明显。一个非常恰当的比喻就是书的目录页与书的正文内容之间的关系,为了方便查找书中的内容,通过对内容建立索引形成目录。因此, ... 阅读全文 »
事务隔离级别 发表于 2015-01-22 | 分类于 数据库 dirty read(脏读):一个事务B中修改了一些数据但没有提交,而事务A却读取该数据并在其基础上进行操作,如果事务B进行回滚,那么事务A读到的数据是无效的,不符合数据一致性。 unrepeatable read(不可重复读):是指在一个事务内,多次读同一数据。在这个事务还没有结束时,另外一个事务 ... 阅读全文 »
mysql的各种log 发表于 2015-01-21 | 分类于 数据库 binlogbinlog日志用于记录所有更新且提交了数据或者已经潜在更新提交了数据(例如,没有匹配任何行的一个DELETE)的所有语句。语句以“事件”的形式保存,它描述数据更改。 作用 1.恢复使能够最大可能地更新数据库,因为二进制日志包含备份后进行的所有更新。2.在主复制服务器上记录所有将发送给从 ... 阅读全文 »
perf简单使用 发表于 2015-01-20 | 分类于 工具 Perf 是用来进行软件性能分析的工具,非常强大的工具。最初,perf叫做 Performance counter,在 2.6.31 内核中发布。在 2.6.32 中正式改名为 Performance Event,因为 perf 已不再仅仅作为 PMU 的抽象,而是能够处理所有的性能相关的事件。pe ... 阅读全文 »
gprof简单使用 发表于 2015-01-20 | 分类于 工具 gprof实际上只是一个用于读取gmon.out结果文件的工具,通过加入编译参数 -pg,让gcc编译生成的程序在执行之后产生一个profile文件,gprof可以解析这个文件。最主要的作用就是可以分析程序中函数的调用次数和调用关系,以及函数消耗时间。gprof采用混合方法来收集程序的统计信息,他使 ... 阅读全文 »
hexo 基本用法 发表于 2015-01-19 Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in ... 阅读全文 »