
C/C++
文章平均质量分 58
scorpio16
这个作者很懒,什么都没留下…
展开
-
switch语句
很久没有用过switch语句,这次一用就出问题了。原来在case后面的语句中,如果定义或者声明了新的变量,需要用{}括起来,否则 就会出现编译错误:crosses initialization of XXXX。不知道有多少人清楚这一点。还有一点是switch是一种多路选择方式,选择器(也就是跟在switch后面括号里的东西)必须是一个在编译时能求得整数值的对象。因此,如果是想用字符串类原创 2006-11-08 14:51:00 · 940 阅读 · 0 评论 -
顺序点
看下面两条语句:int i = 3;int k=(++i)+(++i)+(++i); 执行后k的值是多少?不同的编译器有不同的结果,可能是16(gcc),也可能是18(vc)。为什么会这样呢? 在C++标准中有一个很重要的概念:sequence points(顺序点)。原文定义如下: At certain specified points i原创 2007-04-08 03:28:00 · 4483 阅读 · 3 评论 -
为什么x==y而cos(x) != cos(y)(或者sin,tan,log等其他浮点运算)?
出乎大多数人的意料,浮点运算并不像人们想像的那样工作。更糟的是,这种情况随着计算机浮点硬件或者编译器的优化选项的不同而不同。 举个简单的例子。 #include void foo(double x, double y){ if (cos(x) != cos(y)) { std::cout }} int main(){ f翻译 2007-04-08 01:52:00 · 2381 阅读 · 4 评论 -
“Hello World!”的N种写法
在初学一门编程语言的时候,写一个“Hello world!”程序是最常见的入门方法。通过写一个成功的Hello world!”,可以实践这门语 言最基本的语法特性,还可以带给自己成就感,真是一举两得。C/C++语言本身有很多特性,如果能够将这些技术分解出来变成一个个的 “Hello world!”,并且将这些技术点到为止,貌似也算是一件善事。这里,列举了10个“Hello world!”程序转载 2007-04-12 19:20:00 · 2596 阅读 · 0 评论 -
如何写出专业的C头文件(转)
做到专业,应该是每个职业程序员应该要求自己做到的。让我们看看lua是怎么写头文件的。1.License AgreementLicense Agreement应该加在每个头文件的顶部。Lua Sample: /*** $Id: lua.h,v 1.175b 2003/03/18 12:31:39 roberto Exp $** Lua - An Extensible Extension Lang转载 2007-05-15 14:26:00 · 1639 阅读 · 0 评论 -
mmap函数使用
UNIX网络编程第二卷进程间通信对mmap函数进行了说明。该函数主要用途有三个:1、将一个普通文件映射到内存中,通常在需要对文件进行频繁读写时使用,这样用内存读写取代I/O读写,以获得较高的性能;2、将特殊文件进行匿名内存映射,可以为关联进程提供共享内存空间;3、为无关联的进程提供共享内存空间,一般也是将一个普通文件映射到内存中。函数:void *mmap(void *start,size_t l转载 2008-01-22 17:03:00 · 12408 阅读 · 1 评论