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

本文共 1474 字,大约阅读时间需要 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/

你可能感兴趣的文章
Nmap扫描教程之Nmap基础知识
查看>>
nmap指纹识别要点以及又快又准之方法
查看>>
Nmap渗透测试指南之指纹识别与探测、伺机而动
查看>>
Nmap端口扫描工具Windows安装和命令大全(非常详细)零基础入门到精通,收藏这篇就够了
查看>>
NMAP网络扫描工具的安装与使用
查看>>
NMF(非负矩阵分解)
查看>>
nmon_x86_64_centos7工具如何使用
查看>>
NN&DL4.1 Deep L-layer neural network简介
查看>>
NN&DL4.3 Getting your matrix dimensions right
查看>>
NN&DL4.7 Parameters vs Hyperparameters
查看>>
NN&DL4.8 What does this have to do with the brain?
查看>>
nnU-Net 终极指南
查看>>
No 'Access-Control-Allow-Origin' header is present on the requested resource.
查看>>
NO 157 去掉禅道访问地址中的zentao
查看>>
no available service ‘default‘ found, please make sure registry config corre seata
查看>>
No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?
查看>>
no connection could be made because the target machine actively refused it.问题解决
查看>>
No Datastore Session bound to thread, and configuration does not allow creation of non-transactional
查看>>
No fallbackFactory instance of type class com.ruoyi---SpringCloud Alibaba_若依微服务框架改造---工作笔记005
查看>>
No Feign Client for loadBalancing defined. Did you forget to include spring-cloud-starter-loadbalanc
查看>>