欢迎辞

欢迎来到“笃志以砺,决起而飞”!
如果您是第一次来到本站,建议访问本站导读以便更快地了解本站。
如果您喜欢本站,欢迎订阅

 

2012 年二月
« 一  
 12345
6789101112
13141516171819
20212223242526
272829 

C++笔记:声明和定义

这是容易混淆的两个概念。简单点说,声明就是告诉编译器有这个名字,定义就真正的为它分配存储空间。 在《C++Primer》第四版 2.3.5节中这么说到:“变量的定义用于为变量分配存储空间,还可以为变量指定初始值。在一个程序中,变量有且仅有一个定义。声明用于向程序表明变量的类型和名字。定义也是声明:当定义变量时我们声明了它的类型和名字。可以通过使用extern关键字声明变量名而不定义它。不定义变量的声明包括对象名、对象类型和对象类型前的关键字extern。” 需要注意的是: 1.定义也是声明,extern声明不是定义,即不分配存储空间。extern告诉编译器变量在其他地方定义了。 例如:

?View Code CPP1 2 extern int i; //声明,不是定义 int i; //声明,也是定义

2.如果声明有初始化式,就被当作定义,即使前面加了extern。 例如:

?View Code CPP1 extern double pi=3.1416; //定义

只有当extern声明位于函数外部时,才可以被初始化。

[...]

C++ 笔记:使用转义字符书写非打印字符

为了输入非打印字符,C++定义了一些转义字符。 C++ 中常用的转义字符如下。

换行符 \n 回车符 \r 水平制表符 \t 单引号 \’ 双引号 \" 正斜线 \\

除了上述转义字符外,C++还有一些转义字符。 1、十六进制转义 使用 \x + 十六进制数据。

[...]

C++ 笔记:关于输入和输出

使用标准库进行控制台输入输出时,有一些需要知道的内容。

更新缓冲区

使用 C++ 进行控制台输出时,系统将先把内容输出到缓冲区,然后再显示到屏幕或输出到其它输出流的目的地上。为了保证获取输出结果,必须注意更新缓冲区。

导致缓冲区内容被刷新的几种情况

1、程序正常结束。作为main返回工作的一部分,将清空所有输出缓冲区。 2、缓冲区可能已经满了,在这种情况下,缓冲区将会在写下一个值之前刷新。 3、用操作符显式地刷新缓冲区,例如行结束符endl和flush。 4、在每次输出操作执行完后,用unitbuf操作符设置流的内部状态,从而清空缓冲区。 5、可将输出流与输入流关联起来。在这种情况下,在读输入流时,将刷新其关联的输出缓冲区。 此外还应注意,如果程序不正常结束,输出缓冲区将不会刷新。调试程序时,必须保证期待写入的每个输出都确实被刷新了。最好的方法是保证所有的输出操作都显式地调用了flush或endl。 下面的程序输出一些值并关注其缓冲区的状态。

[...]

C++笔记:入门

C++是一个面向对象的功能强大的编程语言。系统的学习C++,不但可以让我掌握一件编程的利器,而且对于我提高编程素养会有很好的作用。

第一个C++程序 ?View Code CPP1 2 3 4 int main() { return 0; } C++不是完全面向对象的语言

在学习C#时,有一句话很重要:一切必须属于类。而在C++中却没有这样的规定。在C++的这个典型的空程序中,不存在类。

对上述程序添加标准库函数

在 C++ Primer 第四版中,作者特意强调了库的重要性,并把标准库的引入放到了最开始的地方。因此,我也提前领略 C++ 标准库的使用。

[...]