C++ 基础-8

本文深入探讨了C++中static_cast、reinterpret_cast、dynamic_cast和const_cast的用法与区别,以及iostream、fstream等I/O流类的详细操作,包括cin和cout的高级函数与manipulator的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.static_cast

用于基本类型间的转换, 但不能基本类型指针的转换

用于有继承关系对象之间的转换和类指针之间的转换

static_cast 是编译期间进行转换的,无法在运行时检测类型,所以类类型之间的转换可能存在风险

2.reinterpret_cast

(1)用于指针类型之间的强制类型转换

(2)用于整数和指针类型之间的强制类型转换

本质直接从二进制复制,极不安全

3.dynamic_cast

用于类层次之间的类型转换,比static_cast安全,有类型检查安全。

4.const_cast

用于去除变量的const属性

5.iostream   输入输出流的操作所需的基本信息

   fstream  用户管理的文件的I/O操作

   strstream   用于字符串流I/O

   stdiostream  用于混合使用c和c++的I/O机制,例如想将C程序转变为C++程序

   iomainp   在使用格式化I/O时应该包含此头文件

6.标准输入流对象cin,重点掌握的函数
      cin.get() //一次只能读取一个字符  遇到EOF结束
      cin.get(一个参数) //读一个字符
      cin.get(三个参数) //可以读字符串
      cin.getline()
      cin.ignore()
      cin.peek()
      cin.putback()

7.标准输出流对象cout
      cout.flush()
      cout.put()
      cout.write()
      cout.width()
      cout.fill()
      cout.setf(标记)

8.manipulator(操作符、控制符)
flush
endl
oct
dec
hex
setbase
setw
setfill
setprecision

9. ifstream类,它是从istream类派生的,用来支持从磁盘文件的输入。
ofstream类,它是从ostream类派生的,用来支持向磁盘文件的输出。
fstream类,它是从iostream类派生的,用来支持对磁盘文件的输入输出。

10.outfile.open("a", ios::out);

a.write(buf, 50);

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值