摘要:
char *a=0是指给a所指的位置赋值'\0'与char *a='\0'是一个意思下面的例子可以说明:char str[] = "abcdefg";char *ptr = NULL;prt = str + 2; //指向c*prt = 0; //str 为 ab,因为现在str[]=ab'\0'defg'\0'*prt = 'c'; //str 为 abcdefg 阅读全文
摘要:
inline函数我们看下面的函数,函数体中只有一行语句:double Average(double total, int number){return total/number;}定义这么简单的函数有必要吗?实际上,它还是有一些优点的:第一,它使程序更可读;第二,它使这段代码可以重复使用。但是,它也有缺点:当它被频繁地调用的时候,由于调用函数的开销,会对应用程序的性能(时间+空间效率,这儿特指时间)有损失。例如,Average在一个循环语句中重复调用几千次,会降低程序的执行效率。那么,有办法避免函数调用的开销吗?对于上面的函数,我么可以把它定义为内联函数的形式:inline double Av 阅读全文
摘要:
一、C++编译模式通常,在一个C++程序中,只包含两类文件——.cpp文件和.h文件。其中,.cpp文件被称作C++源文件,里面放的都是C++的源代码;而.h文件则被称作C++头文件,里面放的也是C++的源代码。C+ +语言支持“分别编译”(separate compilation)。也就是说,一个程序所有的内容,可以分成不同的部分分别放在不同的.cpp文件里。.cpp文件里的东西都是相对独立的,在编 译(compile)时不需要与其他文件互通,只需要在编译成目标文件后再与其他的目标文件做一次链接(link)就行了。比如,在文件a.cpp中定义 了一个全局函数“void a() {}”,而在文 阅读全文