C语言运算符优先级
摘要:一共有十五个优先级:1 () [] . ->2 ! ~ -(负号) ++ -- &(取变量地址)* (type)(强制类型) sizeof3 * / %4 + -5 >> >= >= 全体单目第二; //所有的单目运算符比如++、 --、 +(正)、 -(负) 、指针运算*、&乘除余三,加减四; //这个"余"是指取余运算即%移位五,关系六; //移位运算符:> ,关系:> = <= 等等于(与)不等排第七; //即== 和!=位与异或和位或; //这几个都是位运算: 位与(&)异或(^)位或(|) &
阅读全文
严老师书中离散事件的模拟,银行事务
摘要:/* algo3-12.c 银行业务模拟。实现算法3.6、3.7的程序 *//* c1.h (程序名) */#include #include #include /* malloc()等 */#include /* INT_MAX等 */#include /* EOF(=^Z或F6),NULL */#include /* atoi() */#include /* eof() */#include /* floor(),ceil(),abs() */#include /* exit() *//* 函数结果状态代码 */#define TRUE 1#define FALSE 0#d...
阅读全文
WebKit、Gecko使用图形库
摘要:2008年11月30日 星期日 上午 01:20阅读了之后,觉得作为浏览器内核WebKit、Gecko,为了能高效美观的显示页面的内容,选择适当的图形库非常重要。如果图形库选择不当,往往会导致页面上显示的文字、图片不美观,看起来总让人觉得别扭,更为糟糕的是排列布局出现紊乱,简直无法阅览。从浏览器发展的历史来看,IE系列浏览器的网页布局、文字图片显示的美观程度还是相当高的,也许这与Microsoft图形显示方面的功力相关,到目前为止linux桌面显示还是与传统的windows桌面显示有相当的差距。相 比较Firefox1.5,Firefox3.0图形显示方面也有相当大的进步,这应该归功于完全采取
阅读全文
C++开源库
摘要:前阵子写了《C++ 的“武”和“功”》。谈到C++语言知识,属于“功”,而那些强大的C++库,属于“武”,属于十八般武艺。这篇文章我首先把《白话C++》书中讲到C++库,及相关工具,简单做个介绍。这些库我是怎么为C++初学者挑出来的呢?(一)、它们必须都是开源产品,又为什么要是开源的呢? 1.1、十年前的国内C++学习者,可以完全不必理会开源库,但在几年,编程界中的人,如果敢无视开源力量,那真够火星的。从Java的各个流行的库,到Java语言(实现)自身也开源了,再看那些强大的动态语言:PHP、Python,Ruby,开源环境简直就是它们呼吸的空气。今天在Linux界吵得沸沸扬扬的Mono,就
阅读全文
浅谈C语言中的联合体
摘要:联合体union 当多个数据需要共享内存或者多个数据每次只取其一时,可以利用联合体(union)。在C Programming Language 一书中对于联合体是这么描述的: 1)联合体是一个结构; 2)它的所有成员相对于基地址的偏移量都为0; 3)此结构空间要大到足够容纳最"宽"的成员;4)其对齐方式要适合其中所有的成员;下面解释这四条描述: 由于联合体中的所有成员是共享一段内存的,因此每个成员的存放首地址相对于于联合体变量的基地址的偏移量为0,即所有成员的首地址都是一样的。为了使得所 有成员能够共享一段内存,因此该空间必须足够容纳这些成员中最宽的成员。对于这句“对齐方
阅读全文
C++ 类的构造函数初始化列表
摘要:from:http://www.9cpp.com/c-class-constructor-initialization-list/初始化列表的定义 在使用C++编程的过程当中,常常需要对类成员进行初始化,通常的方法有两种:一种是构造函数内对类的成员赋值,一种则是使用初始化列表的构造函数显式的初始化类的成员。 构造函数初始化列表以一个冒号开始,接着是以逗号分隔的数据成员列表,每个数据成员后面跟一个放在括号中的初始化式。例如: class CExample { public: int a; float b; //构造函数初始化...
阅读全文
static_cast、dynamic_cast、reinterpret_cast和const_cast
摘要:http://blog.sina.com.cn/s/blog_4a84e45b0100f57m.html关于强制类型转换的问题,很多书都讨论过,写的最详细的是C++ 之父的《C++ 的设计和演化》。最好的解决方法就是不要使用C风格的强制类型转换,而是使用标准C++的类型转换符:static_cast, dynamic_cast。标准C++中有四个类型转换符:static_cast、dynamic_cast、reinterpret_cast、和const_cast。下面对它们一一进行介绍。static_cast用法:static_cast < type-id > ( expressi
阅读全文
头文件 string.h cstring string 区别
摘要:http://blog.csdn.net/weitian826/article/details/59952751.#include <cstring> //不可以定义string s;可以用到strcpy等函数using namespace std;#include <string> //可以定义string s;可以用到strcpy等函数using namesapce std;#include <string.h> //不可以定义string s;可以用到strcpy等函数 2.1)文件cstring,和string.h对应,c++版本的头文件,包含比如s
阅读全文
const 用法总结(C++)
摘要:一、关于一般常量声明或定义的格式如下:const <类型说明符> <变量名> = <常量或常量表达式>;[1]<类型说明符> const<变量名> = <常量或常量表达式>; [2][1]和[2]的定义是完全等价的。例如:整形int(或其他内置类型:float,double,char)const int bufSize = 512; 或者int const bufSize = 512;因为const常量在定义后就不能被修改,所以定义时必须初始化。bufSize = 128;// error:attempt to write
阅读全文