博客
关于我
cin与cout详解
阅读量:484 次
发布时间:2019-03-07

本文共 1449 字,大约阅读时间需要 4 分钟。

std::cout详解

// std::cout是C++标准库中的一个概念类,用于向标准输出流写入数据。在C++中,标准输出流默认为键盘的显示终端。你可以直接使用cout来输出各种数据类型的内容。    // 例如:    std::cout << "hello world" << std::endl;    // 如果你希望直接使用cout和cin,可以在顶部文件中加入以下行:    using namespace std;    // std::前缀表示标准库命名空间, ::是作用域运算符,用于指定作用域。    // cout是一个内置的对象,用于表示标准输出流。你可以通过<
<运算符将内容写入cout对象中。 std::endl是一个常量,表示以字符串结尾的换行符。它是一个模板函数,用于强制更新输出缓冲区。 当你调用std::endl时,系统会立即将输出缓冲区的内容写到屏幕上,而不是等到缓冲区被填满后才会自动刷新。 因此,你需要清楚了解std::endl的作用机制:

std::endl的工作原理
  • 调用std::endl会向输出缓冲区添加内容并执行缓冲区刷新操作。
  • 系统会在以下情况下刷新缓冲区:
    • 缓冲区满了
    • 程序执行到main函数的return语句
    • 主动调用std::endl
// 当缓冲区被刷新时,内容会被输出到屏幕上。系统通常会在有可读事件(例如키盘输入)时检查输出缓冲区,并立即刷新。 // 示例:
std::cout << "i = " << i << std::endl;

std::cin详解

// std::cin是一个与std::cout同样重要的标准输入流对象。在C++中,你可以通过cin读取输入的数据。    // 例如:    std::cout << "请输入两个整数:" << std::endl;    int a, b;    std::cin >> a >> b;    std::cout << "a + b = " << a + b << std::endl;    // cin是一个概念类,其行为类似于标准输入流。你可以通过>>运算符读取输入数据。    // 例如:    std::cin >> "字符串输入";    // 这将尝试将输入的全字符串读取到变量中。    // 
注意:std::cin >> 会自动处理类型转换,对于不匹配的输入,会初始化为0或默认值。例如,如果输入一个非数字字符,会被忽略直到下一个有效字符出现为止。
// 与cout一样,std::cin可以直接返回自己,支持链条操作符。 // 例如: std::cin >> a >> b >> c; // 这样可以在单一行代码中读取多个值。 //
建议在读取输入时,先检查std::cin是否成功读取数据(即检查operator>>(bool&)的返回值是否为true)。这可以避免因为输入错误或空闲输入而遇到未定义行为的问题。
关键词:C++
关键词:标准输入流
关键词:标准输出流
关键词:操作符重载

转载地址:http://lakcz.baihongyu.com/

你可能感兴趣的文章
oracle零碎要点---ip地址问题,服务问题,系统默认密码问题
查看>>
oracle零碎要点---oracle em的web访问地址忘了
查看>>
Oracle零碎要点---多表联合查询,收集数据库基本资料
查看>>
Oracle静默安装
查看>>
Oracle面试题:Oracle中truncate和delete的区别
查看>>
thinkphp 常用SQL执行语句总结
查看>>
Oracle:ORA-00911: 无效字符
查看>>
TCP基本入门-简单认识一下什么是TCP
查看>>
Orcale表被锁
查看>>
org.apache.ibatis.exceptions.TooManyResultsException: Expected one result (or null) to be returned
查看>>
org.apache.poi.hssf.util.Region
查看>>
org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode = ConnectionLoss for /
查看>>
org.hibernate.HibernateException: Unable to get the default Bean Validation factory
查看>>
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter
查看>>
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter
查看>>
org.springframework.web.multipart.MaxUploadSizeExceededException: Maximum upload size exceeded
查看>>
org.tinygroup.serviceprocessor-服务处理器
查看>>
org/eclipse/jetty/server/Connector : Unsupported major.minor version 52.0
查看>>
org/hibernate/validator/internal/engine
查看>>
SQL-36 创建一个actor_name表,将actor表中的所有first_name以及last_name导入改表。
查看>>