博文
<C++语言命令详解>第四章:输入、输出和C++(2005-08-22 01:01:00)
摘要:C++把流对象cin和cout作为输入输出的接收和发送终端。
并不是所有的输入输出都和键盘和屏幕有关。
流是单向的,而且它基本上是无穷尽的。
文件经常被看作流。
流的定义:它是一种使用环境,在这种环境下,“对下一个字节进行处理”是可行的,也是有意义的。
流操作符是左移右移操作符的重载,它在istream和ostream中被重新定义。
cout<<item等价于cout本身,所以cout<<item1<<item2<<item3等价于cout<<item1,cout<<item2,cout<<3;同样的道理,cin>>item等价于cin本身,cin>>item1>>item2>>item3等价于cin>>item1,cin>>item2,cin>>item3。因为cout<<item或cin>>item都会传送字符串或数据到cout或cin本身。
cin和cout每种数据类型都由操作符来决定,而且每种数据类型都有合理的默认表达式。
C++的三种输入输出方式:流操作<<和>>,printf和scanf函数,puts和gets等基于行的操作。......
<C++语言命令详解>第三章:指针、字符串及其它(2005-08-21 12:19:00)
摘要:值传递的是原始数据的副本,可以修改而不影响原始数据;但是指针传递(包括引用)传递的是原始数据的地址,所有的操作是对原始数据进行的。
C++中一个字符串必须以'\0'结束,所以字符串数组的最大有效长度比下标要小1,如str[5]最多只有四个有效长度。
数组之间不能直接赋值,必须通过拷贝。字符串也是数组,所以也必须通过拷贝函数。
malloc与free对,new与delete对,不能交叉使用。
如果new创建的是一个数组,delete在删除时必须加[]。如ok=new int[45]; delete[] ok; 。
费解:在创建C++字符串数组时,必须初始化 ?......
<C++语言命令详解>第二章:C++的基本特征(2005-08-21 10:59:00)
摘要:指令与代码的区别:指令都是以#开始,以行尾结束。在源码文件中,在对文件编译之前先对指令编译。
C++语言中最基本的单元之一是表达式。一般来说,表达式最后都获得一个值。表达式可以是变量、常量、函数调用或可以是由小的表达式通过运算符连接起来的符合表达式。其中,赋值语句也是表达式。
C++中变量的五种作用域:局部变量(Local,函数内部,可变)、全局变量(Global函数外,模块内,可变)、静态变量(Static,函数内,但是其生存期一直到模块结束)、外部变量(External,模块间公用)和类作用域(变量的作用限制在类的对象中)。
静态函数只在模块内可见,而非静态函数在模块被包含之后可被其他模块看见。
只有将变量声明为外部的,且在其他模块包含本模块时,变量才可被其他模块看见。
出现问题:
struct card{ unsigned int rank: 4 ; unsigned int suit: 2 ; };
card cd, desk[52];......
<C++语言命令详解>第一章:C++的功能(2005-08-21 09:36:00)
摘要:在面向对象的编程结构出现之前,最明显的汇编语言结构是控制与数据相分离,内存中的数据与代码是分开的,除了偶尔的跳转,CPU大部分时间都是顺序执行代码,所以大段的代码结合成代码段,代码必须去寻求自己所需要的数据结构,如图/表;而面向对象的编程结构将两者融合为一体,形成一个类,它包含了对象的数据和行为。
JAVA从C++中借鉴了很多东西,它是面向Internet的未来语言。
VB的事件驱动模型是从C++的面向对象发展而来,因为C++有接受消息的接口的独立能力。
封装的结果是除了接口数据的共享之外,类的内部受到保护。
The New :
多态:分散化控制
重载:函数、运算符
封装......
