【C++】标准流与命名空间简介 ( Visual Studio 2019 中创建 C++ 项目 | iostream 标准流 | std 标准命名空间 | cout 控制台输出 )

2023-08-15 19:45:00





一、Visual Studio 2019 中创建 C++ 项目



打开 Visual Studio 2019 , 选择 " 菜单栏 / 文件 / 新建 / 项目 " 选项 , 创建 新项目 ;

在这里插入图片描述

选择 Windows 平台的 C++ 语言的 控制台程序 ;

选择创建 " 空项目 " , 点击 右下角的 " 下一步 " 按钮 ;

在这里插入图片描述

输入项目名称 和 位置 , 创建工程 ;
在这里插入图片描述

在 " 解决方案资源管理器 " 中 , 右键点击 " 源文件 " , 选择 " 添加 / 新建项 " ;

在这里插入图片描述

在 " 添加新项 " 窗口中 , 选择添加 " C++ 文件(.cpp) " 文件 , 名称设置为 " hello_world.cpp " ;

然后 , 点击 右下角 的 " 添加 " 按钮 , 即可添加 C++ 源码文件 ;

在这里插入图片描述

在 " 解决方案资源管理器 " 中 , 创建后的源码 , 显示在 源文件 目录下 ;

在这里插入图片描述





二、C++ 代码编写



所有的 C++ 程序都要先包含 标准 IO 流的 头文件 , 以及 使用 std 标准命名空间 ;


1、iostream 标准流


使用 #include "iostream" 包含 C++ 的标准 IO 流头文件 ;

// 包含 C++ 头文件
#include "iostream"

iostream 标准 IO 流 , 用于处理

  • 标准输入输出
  • 文件输入输出

等操作 ;


iostream 常用标准输入输出流 :

  • cin : 标准输入流 , 从 标准输入设备 读取数据 ;
  • cout : 标准输出流 , 向 标准输出设备 输出数据 ;
  • cerr : 标准错误流 , 向 标准错误设备 输出错误信息 ;
  • fstream : 标准文件输入输出流 , 从文件中 读取数据 , 向文件中输出数据 ;

包含了 iostream 头文件后 , 就可以使用上述输入输出流 ;


2、std 标准命名空间


使用 std 标准命名空间 , 该 命名空间中 , 定义了很多标准定义 ;

// 使用 std 标准命名空间
//		该命名空间中 , 定义了很多标准定义
using namespace std;

上述代码中的 using namespace std; 使用标准命名空间代码 , 是 预处理指令 , 用于 通知 编译器 在当前源码中使用 std 标准命名空间 ;

std 命名空间 是 英文单词 " standard " 缩写 , 该 命名空间 定义了 标准库 的所有元素 , 如 : cout , cin , string 等 ;

  • 如果 不使用 std 标准命名空间 , 使用其中的元素时 , 必须添加 std:: 前缀 , 如 : std::cout , std::cin , std::string 等 ;
  • 如果 使用了 std 标准命名空间 , 可以直接使用 cout , cin , string 等元素 , 不必添加 std:: 前缀 ;

3、cout 控制台输出


在 C 语言中 , 使用 printf 函数 , 就可以向控制台输出数据 , 在 C++ 中仍然可以使用这种方式 ;

	// 使用 C 语言的方式在控制台输出文本
	printf("printf Hello World\n");

C++ 中使用 iostream 中的 cout 标准流输出 , 更加方便 ;

cout 标准输出流 , 可以 将 数据 输出到 标准输出 ( 控制台 ) , 在此处其作用是进行标准输出 , 向控制台输出内容 ;

左移操作符 << 操作符 , 用于将右侧的 字符串内容数据 发送到左侧的流中 , 也就是将 "cout Hello World" 字符串数据发送到 cout 标准输出流中 ;

endl 操作符 的作用是 刷新输出流 , 将内容打印到控制台 并且回车换行 ;

	// 使用 C++ 的方式在控制台输出文本
	//		cout 的作用是进行标准输出 , 向控制台输出内容
	//		C++ 中的 左移操作符 << 
	//			在 C++ 语言中进行了操作符重载 进行了功能增强
	//		endl 的作用是 将内容打印到控制台 并且回车换行
	cout << "cout Hello World" << endl;

4、代码示例


代码示例 :


// 包含 C++ 头文件
#include "iostream"

// 使用 std 标准命名空间
//		该命名空间中 , 定义了很多标准定义
using namespace std;

int main() 
{
	// 使用 C 语言的方式在控制台输出文本
	printf("printf Hello World\n");

	// 使用 C++ 的方式在控制台输出文本
	//		cout 的作用是进行标准输出 , 向控制台输出内容
	//		C++ 中的 左移操作符 << 
	//			在 C++ 语言中进行了操作符重载 进行了功能增强
	//		endl 的作用是 将内容打印到控制台 并且回车换行
	cout << "cout Hello World" << endl;
	
	// 控制台暂停 , 按任意键继续向后执行
	system("pause");
}

执行结果 :

printf Hello World
cout Hello World
Press any key to continue . . .

在这里插入图片描述

更多推荐

【Vue】入门及生命周期(前后端分离)

目录一、Vue简介1、Vue.js是什么2、库和框架的区别2.1库(Library)2.2框架(Framework)3、MVVM的介绍二、Vue入门1、Vue快速入门2、Vue的优势三、Vue事件四、Vue生命周期1、实例一、Vue简介1、Vue.js是什么Vue是一款流行的构建用户界面(UI)的[渐进式]JavaSc

Unix和Linux、GNU和GPL、RHEL和Centos、Debian和Ubuntu

文章目录Unix和LinuxGNU和GPLGNU/Linux名称的来源RHEL和CentosDebian和Ubuntu以上都是操作系统,服务器操作系统、桌面操作系统。对于刚刚接触Linux系统或者从事运维相关工作的人来说,肯定会听过很多名词,但是不知道他们的区别和联系,比如Unix和Linux、RHEL和Centos等

【JVM】经典垃圾收集器

文章目录说明新生代收集器Serial收集器ParNew收集器ParallelScavenge收集器老年代收集器SerialOld收集器ParallelOld收集器CMS收集器GarbageFirst收集器需要解决的问题运作过程CMS和G1的区别说明Java中有许多垃圾收集器(GarbageCollector,GC)可供

程序员基操——如何应对需求变更的“范畴”和“形状”

前言架构整洁之道读后感,随笔原文引用有删减,虽然我认为原文每一个字都很有价值,值得推敲,但是考虑到自己程序员的身份,必须懒点,才能融入大家喜欢交流的小伙伴私信加群引用文字为了达到软件的本来目的,软件系统必须够“软”——也就是说,软件应该容易被修改。当需求方改变需求的时候,随之所需的软件变更必须可以简单而方便地实现。变更

docker day05

昨日内容回顾:-dockerfile的优化-编译速度-充分利用缓存镜像,将不常变更的指令放在靠前的位置;-在不影响功能的前提下,最好是可以合并多条指令,可以减少中间容器或者镜像的产生;-软件源最高更换国内较稳定的软件源,相比国外的软件源速度会更快;-使用".dockerignore"文件忽略Dockerfile编译不需

python爬虫爬取电影数据并做可视化

思路:1、发送请求,解析html里面的数据2、保存到csv文件3、数据处理4、数据可视化需要用到的库:importrequests,csv#请求库和保存库importpandasaspd#读取csv文件以及操作数据fromlxmlimportetree#解析html库frompyecharts.chartsimport

期权是什么?一分钟带你玩转期权策略!

很多人问我期权是什么,这个问题怎么回答呢?首先期权是一种交易模式,如同股票期货一样,但它又不同于股票和期货,因为它有自己的交易规则和特性,期权更多是一种工具,可以做空大盘对冲下跌风险,下文解答期权是什么?一分钟带你玩转期权策略!本文来自:期权酱期权,又叫选择权,是一份合约,给予期权买家在特定日期或之前以特定价格买入或卖

【Git】02-Git常见应用

文章目录1.删除不需要分支2.修改最新Commit的Message3.修改之前Commit的Message4.连续多个Commit整理为一个5.不连续的Commit整理为一个6.比较暂存区和HEAD中文件差异7.比较工作区和暂存区中文件差异8.将暂存区恢复为HEAD相同9.工作区文件恢复和暂存区相同10.取消暂存区部分

Jenkins自动化:简化部署流程

🌷🍁博主猫头虎(🐅🐾)带您GotoNewWorld✨🍁🦄博客首页——🐅🐾猫头虎的博客🎐🐳《面试题大全专栏》🦕文章图文并茂🦖生动形象🐅简单易学!欢迎大家来踩踩~🌺🌊《IDEA开发秘籍专栏》🐾学会IDEA常用操作,工作效率翻倍~💐🌊《100天精通Golang(基础入门篇)》🐅学会Gol

【Flutter】Flutter 使用 RxDart 实现异步编程

文章目录一、前言二、版本信息三、RxDart简介四、RxDart的基本使用1.Stream类2.扩展方法3.Subjects五、RxDart的实战应用1.实例一:使用RxDart实现事件缓冲2.实例二:使用RxDart实现事件合并六、总结一、前言欢迎来到这篇关于RxDart的入门文章。在这篇文章中,我们将一起探索RxD

Redis理解

文章目录针对小林Coding图解Redis做的自己的理解:数据类型篇Redis常用数据类型和应用场景StringListHashSetZsetBitMapHyperLogLogGEOStream持久化篇AOF持久化是怎么实现的AOF日志三种写回策略AOF重写机制RDB快照是怎么实现的RDB快照执行快照时,数据能被修改吗

热文推荐