C&C++
Sam-Wong
后知后觉,勿忘初心。
展开
-
常量指针和指针常量
常量指针:本身是一个指针,一个指向常量的指针,是变量;常量指针可以指向其他地址,但是所指地址单元的内容不能修改;常用来作函数形参,以保护实参不会被非法。指针常量:本身是一个常量,一个指针类型的常量;指针所指地址一旦初始化就不能修改,但是指针所指地址单元的内容可以修改。原创 2014-04-14 23:11:45 · 1051 阅读 · 0 评论 -
C++中cout/cin对于空指针、字符指针的处理,及输入>>、 输出<<操作符的重载
ptr是空指针,ptr所指单元内容为0,与字符串结束符'\0'值相同;cout在输出前要调用strlen来取得字符串的长度,不可避免得要有读字符串的操作;读了内存地址为0,导致输出流异常,可用cout.clear();重置输出流;C++的IO流是通过操作符"重载"来实现的;当cout << p时; 如果p是个char*, 那么就会调用前一个函数, 用字符串方式输出;如果p是其他的指针, 包括void*,int*等等; 都会匹配第二个函数, 用指针方式输出;cout为流对象,自动识别输出数据的类型;对于原创 2014-04-14 23:05:56 · 4646 阅读 · 0 评论 -
文件流对象open一个文件时会重置流状态吗??会?不会?
C++Primer(中文版)第四版据P253 可知,1)若读某个文件时,当读到文件结束符时,会将文件流对象的 eofbit 和 failbit 置1,流动对象发生错误,无法使用。需要调用clear()来重置流状态。2)将文件流与新文件重新绑定时,必须先关闭当前文件,,然后打开另一个文件。【Question】若重用文件流对象,来读写多个文件,这时若读取一个文件结束时,会使流处于原创 2014-04-14 22:51:55 · 2116 阅读 · 0 评论