1、C++由四个次语言组成:c、c++类对象、template C++、STLc++高效编程守则视状况而变化,取决于使用c++的哪一部分。2、尽量以const、enum、inline替换#define a、常量定义式通常被放在头文件中(以便被不同的源码包含进去),如果想将常量指针(即指向常量的指针)...
分类:
编程语言 时间:
2014-07-17 22:35:59
阅读次数:
317
c++ 联邦语言:
typedef {
unit C;
unit Object-Oriented C++;
unit Template C++;
unit STL;
};
notice: C++高效编程取决于你使用C++的哪一个部分。
eg:pass-by-reference and pass-by-value.
c:内置类型value kill reference...
分类:
编程语言 时间:
2014-07-13 00:14:37
阅读次数:
282
下面我挑选出的这几个技巧常常会被人们忽略,但它们在日常编程中能真正的给我们带来不少帮助。 1. 字典推导(Dictionary comprehensions)和集合推导(Set comprehensions) 大多数的Python程序员都知道且使用过列表推导(list comprehensions)...
分类:
编程语言 时间:
2014-07-09 20:52:24
阅读次数:
246
1.默认状态下,matlab显示精度是short型,而默认的计算精度是double型,并且显示精度与计算精度没有关系。
2. 一只失明的猫的问题:注意方法!
3.给数组预分配空间是基本的高效编程准则之一。如果不预先分配内存具体的动态扩充数组内存的实现方式如下:
如果预分配空间,则只将新添加的值放入连续的内存中,而不会将整个数组重新分配空间。
4.matlab也可以使用windo...
分类:
其他好文 时间:
2014-06-17 22:42:18
阅读次数:
210
推荐编写C++的代码风格,看似容易,坚持不易,且写且珍惜! --陈国林
1. 版本和版本声明
版本和版本文件声明位于头文件和定义文件的开头,主要内容
(1)版本信息
(2)文件名称、标识符、摘要
(3)当前的版本号、作者、修改日期
(4)版本历史信息
2. 程序版式
(1)在每个类声明之后、每个函数定义之后都要加上一个空行
(2)一行代码只做一件事情
(3)if、for...
分类:
编程语言 时间:
2014-05-24 19:08:08
阅读次数:
336
两种锁的加锁原理互斥锁:线程会从sleep(加锁)——>running(解锁),过程中有上下文的切换,cpu的抢占,信号的发送等开销。自旋锁:线程一直是running(加锁——>解锁),死循环检测锁的标志位,机制不复杂。两种锁的区别互斥锁的起始原始开销要高于自旋锁,但是基本是一劳永逸,临界区持锁时间...
分类:
其他好文 时间:
2014-05-09 04:58:58
阅读次数:
297
下面这个代码用两个双层循环遍历了一个二维数组里所有的元素,以我自己机器的测试
上面那个循环耗时基本为下面的一半,两个循环的时间复杂度相同,为什么会有这么大的差别?首先要明白的是不管是几维数组,他们都是用一块地址连续的内存来存储所有的元素,而内存布局的顺序是一整行接着下一个整行排列,第一个循环是一行一...
分类:
其他好文 时间:
2014-05-08 18:31:26
阅读次数:
289
C语言的指针跳转访问是一个灵活高效的机制,但是再高效也是要花费额外时间的,下面这个程序如果在gcc
-O0不优化的情况,就可以看出指针跳转比直接访问要多消耗10%左右的时间#include #include int main(){ int m = 0; int
*p = &m; ...
分类:
其他好文 时间:
2014-05-08 17:58:42
阅读次数:
278