科锐课堂笔记:2017/4/5 输入输出

本文介绍C++中输入输出流的概念及使用方法,包括cin、cout对象的使用及格式化输出设置。同时深入探讨const关键字的应用,包括常量定义、常量指针与指针常量的区别。

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

  C++把输入输出看作“流”的概念。
  在C++中有两个标准输入输出对象cin和cout,输入重载了右移运算符,输出重载了左移运算符,并且都重载了所有基本类型操作,只不过这样的用法看上去比较别扭,如果看作流的话稍微还合理一点。


  输入:
  常见的如cin >> n,根据n的类型调用对应的重载运算符函数。对于想获得字符串的输入,还可以调用cin成员函数getline、read等,另外成员函数rdbuf得到streambuf对象指针,streambuf中有in_avail成员函数能获取到缓冲区中未处理的字节数。而cin成员函数ignore则是用来丢未处理字节数的。


  输出:
  输出cout用法同cin类似,不过一个左移符一个用右移符表示流方向,cout除了能适应各基本类型外,针对格式化输出16进制数可以使用cout << hex << 32,dec十制进oct八进制,hex等都是一个函数,它实际反过来调用了ios对象自身的setf成员函数,以此来设置格式化输出,setf字面上一看就是设置标志的意思,设置一次以后都生效,想要取消设置的标志自有unsetf对应调用。另外还有width设置宽度、fill设置填充字符、precision设置精度等。


  C++新增const关键字,表示一个常量。C语言中常量通常使用define定义,define只是单纯意义的展开替换,没有类型一说,编译器就无法作类型检查,而在C++可以在定义前加上const关键字,表示这是一个常量,对于const常量在定义时必须初始化,之后便无法修改其值(仅从编译器角度限制而言),如果const常量初始化一个常量值,那么代码中所有引用它的地方都像宏一样展开替换成常量值,与宏不同一点const常量有分配空间。如果const常量初始化一个变量的值,那么编译器就不会作展开替换,而是引用该const常量存放的值。
  const的常量指针与指针常量。const T*、T const*定义常量指针,常量指针可以修改其值但不能修改指针指向的内容。T* const定义指针常量,指针常量不能修改指针值但允许修改其指向的内容。还有一种const T* const,两者皆不可修改。


  C++新增引用类型。引用是变量的一个别名,定义时必须初始化一个变量,想赋值常量值加const。引用可以看作是指针的一种变体,它实际上就是通过指针的方式实现的,不过在编译器上层作了限制,使用起来更安全。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值