命名空间namespace--c++入门基础等

个人主页点这里~

1.命名空间-namespace

简介 :在C/C++中,变量、函数和后面要学到的类都是大量存在的,这些变量、函数和类的名称将都存在于全局作用域中,可能会导致很多冲突。使用命名空间的目的是对标识符的名称进行本地化,以避免命名冲突或名字污染,namespace关键字的出现就是针对这种问题的。
 
反面例子 :在c语言中:
   此时,系统汇报出 错误 ,因为在包含了 stdlib的头文件后,rand关键字是其中的一个 函数,与我们定义的rand产生冲突了。
所以,在 c++中,我们可以使用 namespace这一关键字来处理这种问题:
我们定义了一个域a,
namespace本质是定义出一个域,这个域跟全局域 各自独立 不同 的域可以定义 同名 变量,所以的rand不在冲突了。
我们通过   :: (域解析运算符) 来指定命名空间的成员。
注意 :1.namespace只能定义在 全局 ,当然他还可以 嵌套定义( 和结构体的嵌套一个意思
2. 项目工程中多文件中定义的同名namespace会认为是⼀个namespace,不会冲突。
           3.C++标准库都放在⼀个叫std(standard)的命名空间中。
域展开关键字 using
我们 展开命名空间中全部成员,项目不推荐,冲突风险很大,日常程序练习为了方便推荐使用,基本不会冲突。                                           且可以展开 部分成员
这一特性,极大方便了我们的自由度。

2.c++的输入和输出

不同于c语言,我们c++需要包含的<iostream>,展开就是input output stream(输入输出流)

1.std::cin 是 istream 类的对象。------用于输入类似于scanf

2.std::cout 是 ostream 类的对象。-------用于输出类似printf

3.std::endl 是一个函数,流插入输出时,相当于插入一个换行字符加刷新缓冲区。类似于'\n'。

4.<<是流插入运算符(用于输出),>>是流提取运算符(用于输入)

使用格式方式

1.输出

2.输入

3.C++的输入输出可以自动识别变量类型,且可以多数一次执行


3.缺省参数

C++中的缺省参数是一种在函数声明时给参数指定默认值的特性。这允许在调用函数时省略某些参数,编译器将自动使用这些参数的默认值。缺省参数非常有用,特别是当函数的大部分调用都使用相同的参数值时。

缺省参数又分为

1.全缺省:全缺省就是全部形参给缺省值。

2.半缺省:半缺省就是部分形参给缺省值。C++规定半缺省参数必须从右往左依次连续缺省,不能间隔跳跃给缺省值。

注意:1.带缺省参数的函数调用,C++规定必须从左到右依次给实参,不能跳跃给实参。

           2.函数声明和定义分离时,缺省参数 不能 在函数声明和定义中同时出现, 规定必须 函数声                  明 给缺省

4.函数重载

C++支持在同一作用域中出现 同名函数 ,但是要求这些同名函数的 形参不同 ,可以是参数个数不同或者类型不同。这样C++函数调用就表现出了多态行为,使用更灵活。C语言是不支持同一作用中出现同名函数的。

5.引用

引用不是新定义⼀个变量,是给已存在变量取了一个别名,编译器不会为引用变量开辟内存空间,它和它引用的变量共用同一块内存空间。
就是给一块空间取上其他的名字,但仍然是这块空间
使用方法: 类型& 引用别名 = 引用对象;

今天分享到这里~
个人主页点这里~

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

echarts图表加载显示空白

数据请求了&#xff0c;图表加载显示空白 报错&#xff1a; Error: Initialize failed: invalid dom. at Object.init (echarts.js:2273:1) 方案 1. 通过this.$nexttick(()>{}) , 试过&#xff0c; 还是不行 2、把 this.lineChart2 this.$echarts.init(document.g…

EV代码签名-解决软件下载时风险警告

软件开发公司在发布软件后&#xff0c;用户尝试下载并安装软件时&#xff0c;如果被SmartScreen识别不常见或尚未建立起良好的信誉度&#xff0c;系统会发出警告&#xff0c;提示用户软件程序可能会对电脑构成风险&#xff0c;或者提示软件非正版软件&#xff0c;这有可能会造成…

【国产开源可视化引擎Meta2d.js】进度

进度 任意封闭图元&#xff0c;都有进度。例如&#xff1a;矩形、圆、svg、封闭连线、进度容器等 const pen {name: rectangle,text: 矩形,x: 100,y: 100,width: 100,height: 100,progress: 0.8,// progressColor: green,// verticalProgress: false, // 水平方向还是垂直方…

spring security的demo

参考&#xff1a; https://juejin.cn/post/6844903502003568647 Spring Security 5.7.0弃用 WebSecurityConfigurerAdapter-CSDN博客 创建 Spring Security 配置类 WebSecurityConfigurerAdapter已被弃用 package com.cq.sc.security.config;import org.springframework.c…

点播CDN回源标准化策略

一、背景&问题&#xff1a; 背景&#xff1a; 历史上公司点播CDN接入的厂商就比较多 厂商之间回源的方式存在细节上的差异 不同的厂商之间专线大小存在差异 厂商之间的定位不同&#xff0c;有全镜像存储厂商&#xff0c;作为源站资源副本永久存储&#xff0c;也有镜像存…

qint64 pendingDatagramSize() const;

qint64 pendingDatagramSize() const; 是 Qt 的 QUdpSocket 类中的一个成员函数。这个函数用于查询 UDP 套接字上等待读取的下一个数据报&#xff08;datagram&#xff09;的大小&#xff0c;单位是字节。 当你使用 QUdpSocket 来接收 UDP 数据时&#xff0c;这个函数可以帮助…

实现寻找最近创建的文件并写入数据

c中实现如下功能&#xff1a; 1.在active函数中实现&#xff1a;创建Profile/###.cvs&#xff0c;其中###代表当前时间 2.在write函数中实现&#xff1a;找到时间最近的cvs文件&#xff0c;写入数据 实现 要在C中实现这两个功能&#xff0c;可以使用标准库来处理文件操作和…

Spring Boot整合MongoDB实现事务管理

Spring Boot整合MongoDB实现事务管理 概述 Spring Boot是一种快速开发Spring应用的方式&#xff0c;它提供了大量的自动配置和默认设置&#xff0c;以简化开发流程。MongoDB是一个基于文档的NoSQL数据库&#xff0c;以其高性能和灵活的数据模型而受到欢迎。从MongoDB 4.0版本…

HTTP的请求报文和响应报文是怎样的,有哪些常见字段?

http报文分为请求报文和响应报文 请求报文包含&#xff1a;请求行、请求头、空行、、请求体 请求行包含&#xff1a; 方法&#xff1a;即要执行的操作&#xff0c;如get&#xff0c;post、put、delet 资源路径&#xff1a;请求的资源的URL HTTP版本&#xff1a;使用的http协议…

docker run enteypoint怎么样使用呢?

在使用 docker run 命令时&#xff0c;ENTRYPOINT 通常是在 Dockerfile 中定义的&#xff0c;用于指定容器启动时默认执行的命令。但是&#xff0c;docker run 命令也提供了一个 --entrypoint 参数&#xff0c;允许你临时覆盖 Dockerfile 中定义的 ENTRYPOINT。 以下是关于如何…

Python提取视频文案

Python提取视频文案 1、背景描述2、视频转音频3、音频转文字 1、背景描述 在多媒体应用中&#xff0c;视频是一个信息量巨大的载体。然而&#xff0c;有时我们需要从视频中提取语音并转换为文本&#xff0c;以用于文本分析和机器学习训练 其中主要涉及到两个过程&#xff1a;视…

LeetCode67(二进制求和[位运算,大数运算])

二进制求和 题目要求: 给你两个二进制字符串 a 和 b &#xff0c;以二进制字符串的形式返回它们的和。 这道题其实有几种解法.我们先来介绍简单的方法. 我们可以将两个字符串的二进制转成十进制,获取对应值相加之后,我们可以不断对2取余,获取尾数拼接即可.也就是像我们平常求一…

微信公众平台、公众号、小程序联动

欢迎来到我的博客&#xff0c;代码的世界里&#xff0c;每一行都是一个故事 &#x1f38f;&#xff1a;你只管努力&#xff0c;剩下的交给时间 &#x1f3e0; &#xff1a;小破站 微信公众平台、公众号、小程序联动 如何通过unionid获取到微信公众openid如何根据code获取微信公…

UI组件库---vantList组件接口多次调用大坑问题

问题描述&#xff1a;当使用refesh下拉操作时&#xff0c;vanlist组件会多次调用&#xff08;大概三次&#xff09;&#xff01; 解决方案&#xff1a; 1、接口错误的时候&#xff0c;大量重复请求。 可能接口错误时vant3内部某些变量没重置&#xff0c;导致一直重复请求&am…

利用 STM32 实现多协议物联网网关:Modbus/Zigbee 到以太网/Wi-Fi 的数据桥接

摘要: 随着物联网技术的飞速发展&#xff0c;不同通信协议之间的互联互通成为了构建智能化系统的一大挑战。本文将以实战项目为例&#xff0c;详细介绍如何利用 STM32 微控制器实现 Modbus/Zigbee 与以太网/Wi-Fi 之间的协议转换&#xff0c;从而打通传感器数据上传至服务器的“…

短视频矩阵系统源代码开发---多种剪辑逻辑再次升级

揭秘AI短视频运营秘籍&#xff0c;轻松涨粉&#xff01; 1、数据管理方面&#xff0c;我们提供了全面的账号及视频Top 10的数据统计服务。 2、在AI视频创意制作领域&#xff0c;我们采用原创视频批量剪辑、阶乘算法和去重原理&#xff0c;以提升内容的独特性和吸引力。 3、同…

【pytorch22】激活函数与GPU加速

激活函数 ReLu还是还是可能出现梯度弥散&#xff0c;因为x<0的时候&#xff0c;梯度还是可能小于0 leaky relu&#xff0c;在x<0的时候&#xff0c;梯度就不会为0&#xff0c;梯度不会不动 Relu函数在x0处是不连续的 一种更加光滑的曲线是SELU&#xff0c;是两个函数的…

FOC算法

如下图所示的&#xff0c;是FOC算法的整体流程图&#xff0c;下面图中最重要的部分就是SVPWM和3相全桥电路&#xff0c;和送给SVPWM进行运算&#xff0c;运算之后的结果为三个相差120的马鞍波&#xff0c;然后将这三相马鞍波作为控制全桥MOS开关的三个PWM波的占空比&#xff0c…

判断线程是否存活

isActive()方法&#xff1a;判断当前的线程是否处于活动状态。 活动状态是指线程已经启动且尚未终止&#xff0c;线程处于正在运行或准备开始运行的状态&#xff0c;就认为线程是存活的。 class Alive implements Runnable {Overridepublic void run(){for(int i0;i<4;i){…

C#中,不同命名空间下面完全相同的类对象进行赋值

背景前提&#xff1a; 1、在命名空间ModelA、ModelB下&#xff0c;都有完全相同的类定义ClassX、ClassY、ClassZ &#xff1b; 2、ClassBase是父类&#xff0c;它的子类有&#xff1a;ClassX、ClassY、ClassZ 3、在ModelB下不能访问ModelA&#xff1b; 4、有大量文件&…