【C++小语法技巧】命名空间和输入输出

在使用C语言编程过程中,C语言的要求之严格,编程过程之繁琐,大同小异的重复性工作,令C++之父使用C语言编程时也深受其扰,于是乎C++兼容C小语法诞生了

一、命名空间域(解决C语言中命名冲突)

1.定义命名空间(相当于把一块地圈起来)

形式:namespace + 命名空间名

namespace std(标准命名空间):包含C++标准库中的所有内容

代码示例

namespace yang
{
	int x=0;//定义变量
	//定义函数
	int Add(int x,int y)
	{
		return x + y;
	}
	//自定义类型
	struct Student
	{
		int num;
		char name[20];
	};
	//嵌套命名空间
	namespace bit
	{
		int x = 0;
	}
}

可以定义变量、函数、自定义类型,可以嵌套


2.作用域符::

可以访问想要访问的作用域里面的内容


为什么命名空间域可以解决命名冲突问题呢?首先我们需要了解编译原则

3.编译原则-默认查找顺序

(1)当前局部域(自家的菜地)

(2)全局域(野外的地,谁都可以用)

问:默认查找会进入命名空间里面找吗?

答:No,命名空间没有展开(邻居的菜地,未经允许不可入内)。


如何才能进入命名空间?需要展开命名空间

4.展开命名空间

展开方式

(1)全展开 

注:平常练习可以用,在大项目中不推荐用,以免造成命名冲突

(2)指定展开某一个命名空间

(3)指定访问

代码示例:

#include<iostream>
namespace yang
{
	int x = 10;//定义变量
	//定义函数
	int Add(int x,int y)
	{
		return x + y;
	}
	//自定义类型
	struct Student
	{
		int num;
		char name[20];
	};
	//嵌套命名空间
	namespace bit
	{
		int x = 20;
	}
}
namespace zhang
{
	int x = 30;
}
using namespace zhang;//指定全展开zhang

int main()
{
	printf("x=%d\n",yang::x);//指定访问
	printf("x=%d\n", yang::bit::x);//指定访问
	printf("x=%d\n", x);
}

运行结果:


二、输入和输出

输入:cin>>(流提取)

输出:cout<<(流插入)

C++兼容C,C语言的输入和输出通常使用 scanf() 和 printf() 函数C++也可以用,这些函数语法相对复杂,且对数据类型有一定的限制。例如,scanf() 函数在读取字符串时需要指定缓冲区的大小,否则可能会导致缓冲区溢出等安全问题。

C++的I/O流的优势在于支持多种数据类型,而不仅仅是基本数据类型。例如,我们可以使用 std::cin 和 std::cout 来读取和写入字符串、数组、自定义类型等。这使得C++的I/O功能更加灵活和强大。

代码示例:

#include<iostream>
using namespace std;
int main()
{
	int x = 10;
	double y = 10.5;
	cout << "x=" << x << endl;//"x="字符串可以直接输出,endl是换行
	cout << "y=" << y << endl;
	int a = 0;
	double b = 0;
	cin >> a;
	cin >> b;
	cout << "a=" << a << endl;
	cout << "b=" << b << endl;
	return 0;
}

运行结果:

欢迎大家一起学习交流

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/628375.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Java 8 Supplier函数式接口介绍及实战案例

介绍直接看这篇文章比较详细&#xff1a;【Java 基础篇】Java Supplier 接口详解 Supplier 是 Java 8 引入的一个函数式接口&#xff0c;它属于 java.util.function 包。Supplier 接口表示一个不接受任何参数但返回某种类型结果值的函数。它定义了一个 get() 方法&#xff0c;该…

HAProxy系列文章二《Patroni+ETCD+PG14+HAProxy的安装部署》

瀚高数据库 目录 文档用途 详细信息 文档用途 本文主要介绍Patroni架构下单点HAProxy的安装部署&#xff0c;通过单点HAProxy实现数据库的负载均衡。本文为HAProxy系列文章之一&#xff0c;其他相关文章请点击文档下方的相关文档链接进行详细查看&#xff0c;文章内不在赘述。…

Matlab进阶绘图第54期—密度散点图(概率密度版)

在之前的文章中&#xff0c;分享过Matlab密度散点图的绘制方法&#xff1a; 此版内容用到了一些点云数据处理中求取密度的知识&#xff0c;对部分人来说&#xff0c;可能有些不好理解。 于是&#xff0c;本期内容使用Matlab自带的ksdensity函数进行密度散点图(概率密度版)的绘…

VMware 不能拍摄快照

问题&#xff1a; 拍摄快照后&#xff0c;会出现这个弹窗&#xff0c;然后虚拟机就直接自动退出了&#xff0c;还会弹出一个框&#xff1a; 解决方法&#xff1a; 我用的是 window11 和 VMware16.0.0 这是因为VM16与window11&#xff0c;二者之间版本不兼容问题&#xff0c;可…

麒麟 V10 安装docker2

1. 查看系统版本 2.安装docker-ce 添加源 yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 安装docker yum install docker-ce --allowerasing 重启docker systemctl start docker 3.安装nvidia-container-runtime 添…

又一款爆火AI游戏诞生!《换你来当爹》做对了什么?| ShowMeAI体验报告

社区里几百人玩一款AI游戏的场面&#xff0c;值得记录一下&#xff01; 大模型游戏化极度看重〖有趣〗程度。 可有趣的灵魂那么难得&#xff0c;以至于只要一眼&#xff0c;我们就在产品的海洋里发现了 ta 。 1. 有趣的灵魂在发疯疯疯 《换你来当爹》是一款全员发疯的AI游戏&am…

VMware Workstation Pro 和 Fusion Pro 针对个人用户使用免费了

今早看到 VMware by Broadcom 官方博客 VMware Desktop Hypervisor Pro Apps Now Available for Personal Use - VMware Cloud Foundation (VCF) Blog 以及 Learn more about VMware Desktop Hypervisor Products Subscription Model 总结如下&#xff1a; 免费 Player 版本将…

霸道龙尊短视频:成都鼎茂宏升文化传媒公司

霸道龙尊短视频&#xff1a;龙族的传奇与现代的交融 在数字化时代的浪潮中&#xff0c;短视频以其短小精悍、内容丰富的特点&#xff0c;迅速占领了人们的碎片时间。成都鼎茂宏升文化传媒公司而在这些短视频中&#xff0c;一股独特的“霸道龙尊”风潮正在悄然兴起&#xff0c;…

Pytharm2020安装详细教程

Pytharm2020版提取链接链接&#xff1a; https://pan.baidu.com/s/1eDvwYmUJ4l7kIBXewtN4EA?pwd1111 提取码&#xff1a;1111 演示版本为2019版&#xff0c;链接包为2020版pytharm。 1.双击exe文件页面会提示更改选项&#xff0c;点击“是”。 2.点击下一步next 自…

3. C++入门:引用

引用 引用不是新定义一个变量&#xff0c;而是给已存在变量取了一个别名&#xff0c;编译器不会为引用变量开辟内存空间&#xff0c;它和它引用的变量共用同一块内存空间。 int main() {int a 1;int b a;int& c a; }创建一个a变量&#xff0c;把1赋值给a 新创建一个b变…

YoLov9目标检测算法的使用

目录 一、环境安装 1、创建虚拟环境 2、安装依赖库 二、数据集准备 1、数据集的文件名 2、划分数据集 3、配置数据文件 4、修改模型结构文件的类别 5、下载模型预训练权重 三、训练 1、训练的三个文件介绍 2、训练 3、验证 4、检测单张图片 四、附录 1、训练参…

AWS基础之Region/AZ/DC概念

从云厂商提供的服务物理地域上来划分&#xff0c;范围从大到小依次是Region-Available Zone-Data Center。 Region(区域)&#xff1a;区域与区域之间的距离大概是几百公里或者几千公里。&#xff08;可以理解为&#xff1a;中国和美国在不同的区域&#xff09; Available Zon…

量化交易策略:经典量化交易策略大汇总(内附开通方法)

01、什么是量化交易&#xff1f; 量化交易是一种依赖于先进的数学模型和计算机技术的交易方式&#xff0c;旨在制定能带来超额收益的多种“大概率”事件策略。 这个过程从大量的历史数据中筛选&#xff0c;极大地减少了投资者情绪波动的影响&#xff0c;避免了在市场极度狂热或…

海外住宅IP介绍

住宅IP&#xff0c;通俗的来讲就是分配给家庭的IP地址&#xff0c;ISP默认分配用户为家庭用户&#xff0c;其真实性与安全性都有一定保障。海外住宅IP是指由海外互联网服务提供商分配给家庭用户的IP地址&#xff0c;IP地址通常是静态的&#xff0c;稳定的&#xff0c;可以为用户…

第二证券今日投资参考:美宣布对华电动汽车等加征关税 AI应用或加速落地

昨日&#xff0c;两市股指早盘一度拉升&#xff0c;随后震动回落&#xff0c;盘中保持窄幅震动收拾走势。截至收盘&#xff0c;沪指微跌0.07%报3145.77点&#xff0c;深证成指跌0.05%报9668.73点&#xff0c;创业板指跌0.26%报1855.6点&#xff0c;北证50指数涨0.74%&#xff1…

python将两张图片对齐

目录 需要对齐的照片如下&#xff1a; 源码&#xff1a; 结果&#xff1a; 需要对齐的照片如下&#xff1a; 源码&#xff1a; import cv2 import numpy as np from matplotlib import pyplot as plt# 读取两张图片 imgA cv2.imread(./out/out/3.png) imgB cv2.imread(./…

高德地图简单复制操作两分钟就能有近10元的收益日入500+无上限

嘿&#xff0c;伙计们&#xff0c;今天我要告诉你们一个赚钱的好方法&#xff0c;这个方法真的很简单&#xff0c;而且你可以在家里就能操作&#xff0c;不需要出门&#xff0c;不需要见人&#xff0c;只需要你会复制粘贴就行了&#xff0c;是不是很吸引人&#xff1f;好&#…

FullCalendar日历组件集成实战(5)

背景 有一些应用系统或应用功能&#xff0c;如日程管理、任务管理需要使用到日历组件。虽然Element Plus也提供了日历组件&#xff0c;但功能比较简单&#xff0c;用来做数据展现勉强可用。但如果需要进行复杂的数据展示&#xff0c;以及互动操作如通过点击添加事件&#xff0…

摆脱手工录入烦恼,OCR技术大幅提高增值税发票处理效率

最近&#xff0c;我邂逅了一位得力助手——OCR技术&#xff0c;它犹如一位神通广大的魔法师&#xff0c;为增值税发票处理带来了翻天覆地的变革&#xff01; 曾几何时&#xff0c;处理增值税发票如同走进了一片迷雾重重的森林&#xff0c;每一步都小心翼翼&#xff0c;生怕出错…

AI绘画进阶工具ComfyUI 傻瓜整合包安装教程!模型共享,一键安装!

哈喽大家好&#xff0c;今天给大家分享一下AI绘画工具Stable Diffusion的另一种UI界面&#xff0c;常见的有&#xff1a; 窗口式界面的WebUI 节点式工作流的ComfyUI ComfyUI更加进阶一些&#xff0c;是一个节点式工作流的AI绘画界面&#xff0c;它高度可定制、自定义编辑Ai生…