摘要: 标准I/O函数库执行以下三类缓冲: 1、完全缓冲意味着只在出现下列情况时才发生I/O缓冲:缓冲区满,进程显示调用fflush,或者进程调用exit终止;标准I/O缓冲区的通常大小为8192字节。 2、行缓冲意味着只是在出现下列情况时才发生I/O:碰到一个换行符,进程调用fflush,或者进程调用exit终止。 3、不缓冲意味着每次调用标准I/O输出函数都发生I/O。 ... 阅读全文
posted @ 2013-04-06 20:33 浪里飞 阅读(326) 评论(0) 推荐(0) 编辑
摘要: 判断是大端字节序还是小端字节序 union { short s; char c[sizeof(short)]; } un; un.s = 0x0102; if (sizeof(short) == 2) { if (un.c[0] == 1 && un.c[1] == 2) printf("big-endian\n"); ... 阅读全文
posted @ 2013-04-06 01:09 浪里飞 阅读(300) 评论(2) 推荐(0) 编辑
摘要: inline是加在实现上,就算加在声明上,编译器也会忽略掉。内联展开是在编译时进行的,只有链接的时候源文件之间才有关系。所以内联要想跨源文件必须把实现写在头文件里。如果一个inline函数会在多个源文件中被用到,那么必须把它定义在头文件中。 注意:将函数的定义({…}之间的部分)放在头文件中是强制的,除非该函数仅仅被单个 .cpp 文件使用。尤其是,如果你将内联函数的定义放在 .cpp... 阅读全文
posted @ 2013-04-06 00:56 浪里飞 阅读(6017) 评论(0) 推荐(1) 编辑
摘要: C++ inline 函数 (一)inline函数(摘自C++ Primer的第三版) inline int min(int first, int secend) {/****/}; inline 函数对编译器而言必须是可见的,以便它能够在调用点内展开该函数。与非inline函数不同的是,inline函数必须在调用该函数的每个文本文件中定义。当然,对于同一程序的不同文件,如... 阅读全文
posted @ 2013-04-06 00:26 浪里飞 阅读(900) 评论(0) 推荐(0) 编辑