初识C++(命名空间、缺省参数)

初识C++

  • 命名空间
    • namespace关键字
    • 命名空间的使用
  • 缺省参数

命名空间

namespace关键字

在C++中,为了尽可能避免命名冲突,需要对各个变量进行域作用限定,这就需要使用到namespace关键字,namespace可以定义一个命名空间,即命名空间域,而这个域与全局域是相互独立的,不同的域可以定义同名变量,从而避免命名冲突
例:

//h 是命名空间的名字
//这里需要注意区分,命名空间定义的括号最后不需要加分号,而结构体需要
namespace h
{int a = 10;//在命名空间中定义变量//在命名空间中定义函数int ADD(int x, int y){return x + y;}//在命名空间中定义结构体struct stu{//......};//命名空间可以嵌套定义namespace w{//......}
}

需要注意的是,C++的标准库都存放在 std 这一命名空间中

命名空间的使用

命名空间的使用有三种方式

  1. 指定命名空间访问,这里需要用到一个操作符 :: ,这是域作用限定符,在项目中一般推荐使用这种方式,例:
int main()
{int a = 20;cout << "main函数中的a: " << a << endl;cout << "命名空间中的a: " << h::a << endl;//这里采用了上例中的 areturn 0;
}

输出结果如下
在这里插入图片描述

  1. 使用using将命名空间中的某个成员展开,这样方便直接使用,例:
//使用using将h中的a变量展开
using h::a;int main()
{int b = 20;cout << "main函数中的a: " << b << endl;cout << "命名空间中的a: " << a << endl;//此时可以直接访问return 0;
}

结果如下:
加粗样式

3.使用using将命名空间全部展开,即

using namespace h;

这种方式容易导致命名冲突,项目中一般不推荐

缺省参数

缺省参数是指在函数声明或定义是为参数指定一个初始值,在调用函数时,如果没有指定参数值便默认为缺省值,缺省参数分为全缺省与半缺省,例:

//全缺省
void F(int x = 10 , int y = 10)
{cout << x + y << endl;
}int main()
{F(0);//此时给x赋值为0F();//x,y均采用缺省值return 0;
}

输出结果如下:
在这里插入图片描述

//半缺省
void F(int x, int y = 10)
{cout << x + y << endl;
}int main()
{F(0,15);//此时给x赋值为0,y为15F(0);//x赋值为0,y采用缺省值return 0;
}

输出结果如下:
在这里插入图片描述

注意

  1. C++规定在半缺省时只能从右往左缺省,不能跳跃间隔缺省,赋值时只能从左往右赋值,不能跳跃赋值
  2. 函数声明和定义分开时只能在声明中缺省,不能在定义中进行缺省

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

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

相关文章

LabVIEW红外热波图像缺陷检

开发使用LabVIEW开发的红外热波图像缺陷检测系统。该系统结合红外热像仪、工业相机和高效的数据采集硬件&#xff0c;实现对工件表面缺陷的自动检测和分析。通过LabVIEW的强大功能&#xff0c;系统能够实时采集、处理和显示红外热波图像&#xff0c;有效提高了检测的精度和效率…

vue:标签属性绑定Vue实例【ref,reactive,内置指令v-bind,v-on】,预定义变量、方法【$methods,$computed】

Vue2、3组件通信、双向绑定、插槽slot、内置指令_组件双向绑定-CSDN博客​Vue2&#xff0c;3响应式原理&#xff0c;ref和reactive&#xff0c;toRef和toRefs&#xff0c;shallowRef和shallowRefs_vue2 shallowref-CSDN博客 vue2【Options 选项API、mixin混入】&#xff0c;vu…

WAF基础介绍

WAF 一、WAF是什么&#xff1f;WAF能够做什么 二 waf的部署三、WAF的工作原理 一、WAF是什么&#xff1f; WAF的全称是&#xff08;Web Application Firewall&#xff09;即Web应用防火墙&#xff0c;简称WAF。 国际上公认的一种说法是&#xff1a;Web应用防火墙是通过执行一…

免开steam 脱离steam 进行游戏的小工具

链接&#xff1a;https://pan.baidu.com/s/1k2C8b4jEqKIGLtLZp8YCgA?pwd6666 提取码&#xff1a;6666 我们只需选择游戏根目录 然后输入AppID 点击底部按钮 进行就可以了 关于AppID在&#xff1a;

机器学习——L1 L2 范数 —>L1 L2正则化

1、L1范数和L2范数是机器学习和数据分析中经常使用的两种范数&#xff0c;它们之间存在多个方面的区别。 以下是关于L1范数和L2范数区别的详细解释&#xff1a; 一、定义差异 L1范数&#xff1a;也被称为曼哈顿范数&#xff0c;是向量元素的绝对值之和。对于一个n维向量x&am…

酒店管理系统小程序的设计

管理员账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;用户管理&#xff0c;酒店管理员管理&#xff0c;房间类型管理&#xff0c;房间信息管理&#xff0c;订单信息管理&#xff0c;系统管理 微信端账号功能包括&#xff1a;系统首页&#xff0c;房间信息…

Linux介绍与常用命令详解

目录 一、Linux概述 1.Linux发行版 2.Linux目录结构 二、Linux特点 三、Linux用途 四、Linux常用的命令 1.cd指令&#xff08;跳转位置&#xff09; 2.显示目录文件 3.对文件进行操作 4.rm指令&#xff08;删除文件夹指令&#xff09; 5.mv指令 6.查看文件命令 7.进程命令…

【云岚到家】-day05-6-项目迁移-门户-CMS

【云岚到家】-day05-6-项目迁移-门户-CMS 4 项目迁移-门户4.1 迁移目标4.2 能力基础4.2.1 缓存方案设计与应用能力4.2.2 静态化技术应用能力 4.3 需求分析4.3.1 界面原型 4.4 系统设计4.4.1 表设计4.4.2 接口与方案4.4.2.1 首页信息查询接口4.4.3.1 数据缓存方案4.4.3.2 页面静…

Ubuntu20.04 编译安装FFmpeg,出错分析以及解决方案

最近工程上需要对FFmpeg底层源码进行修改&#xff0c;需要重新编译&#xff0c;遇见不少坑&#xff0c;出篇教程记录一下。 文章目录 1.FFmpeg源码下载地址2.编译环境配置3.编译FFmpeg4.配置FFmpeg运行环境 1.FFmpeg源码下载地址 官方下载地址:Index of /releases (ffmpeg.or…

Java | Leetcode Java题解之第232题用栈实现队列

题目&#xff1a; 题解&#xff1a; class MyQueue {Deque<Integer> inStack;Deque<Integer> outStack;public MyQueue() {inStack new ArrayDeque<Integer>();outStack new ArrayDeque<Integer>();}public void push(int x) {inStack.push(x);}pub…

springboot1——快速构建项目

需求 第一步&#xff1a;创建maven工程(非web项目) 第二步&#xff1a;导入起步依赖 点击&#xff1a; 下拉复制&#xff1a; 粘贴&#xff1a;&#xff01;&#xff01;这是springboot工程需要继承的父工程 下拉复制&#xff1a; 粘贴&#xff1a;&#xff01;&#xf…

Nodejs 第八十章(Kafka高级)

kafka前置知识在前几章章讲过了 不再复述 Kafka集群操作 1.创建多个kafka服务 拷贝一份kafka完整目录改名为kafka2 修改配置文件 kafka2/config/server.properties 这个文件 broker.id1 //唯一broker port9093 //切换端口 listenersPLAINTEXT://:9093 //切换监听源启动zooKe…

常见问题记录(持续更新)

备注&#xff1a; 在7月10日记录之前遇到的问题及解决方法: 一&#xff1a;常见的访问问题&#xff1a; 403 Forbidden&#xff1a;&#xff08;未有请求权限&#xff09; 表示服务器理解请求但是拒绝执行它。这通常是由于服务器上的文件或资源没有正确的读、写或执行权限&…

python接口自动化(二十四)--unittest断言——中(详解)

1.简介 上一篇通过简单的案例给小伙伴们介绍了一下unittest断言&#xff0c;这篇我们将通过结合和围绕实际的工作来进行unittest的断言。这里以获取城市天气预报的接口为例&#xff0c;设计了 2 个用例&#xff0c;一个是查询北京的天气&#xff0c;一个是查询 南京为例&#…

[MySQL][数据类型]详细讲解

目录 1.说明1.数据类型分类2.数值类型1.int类型2.bit类型3.浮点数类型1.float2.decimal 3.字符串类型1.char2.varchar3.char和varchar比较 4.日期和时间类型5.enum和set1.基本语法2.查询数据 1.说明 MySQL表中建立属性列&#xff0c;列名称 类型 num tinyint unsigned;与C/C语…

优化Cocos Creator 包体体积

优化Cocos Creator 包体体积 引言一、优化图片文件体积&#xff1a;二、优化声音文件体积&#xff1a;三、优化引擎代码体积&#xff1a;四、 优化字体字库文件大小&#xff1a; 引言 优化Cocos Creator项目的包体体积是一个常见且重要的任务&#xff0c;尤其是在移动设备和网…

【Flowable | 第二篇】使用Flowable实现请假流程

文章目录 3.使用Flowable实现请假流程3.1部署测试环境3.2工作流/我的任务菜单3.3设计请假流程3.4绑定业务表3.5申请请假3.6节点审批人审批3.6.1审批动作3.6.2流程状态 3.使用Flowable实现请假流程 3.1部署测试环境 我们使用开源的若依框架&#xff0c;来实现Flowable请假流程…

17102 “一条路径图”的最大独立集问题

这个问题可以通过动态规划来解决。我们可以定义一个数组f&#xff0c;其中f[i]表示从最左边的节点沿着一条路径到节点vi为止&#xff0c;具有的独立集最大权值之和。然后我们可以通过比较f[i-1]&#xff0c;f[i-2]w[i]和w[i]的值&#xff0c;来更新f[i]。 以下是解题步骤&…

应用数学与机器学习基础 - 多任务学习篇

序言 在人工智能的浩瀚星空中&#xff0c;深度学习作为一颗璀璨的明星&#xff0c;正引领着技术革命的新浪潮。随着数据量的爆炸性增长和计算能力的飞跃&#xff0c;深度学习模型在诸多领域展现出了前所未有的性能与潜力。而多任务学习&#xff08;Multi-Task Learning, MTL&a…

科技云报道:产业为根大模型应用为擎,容联云推动企业营销服场景重塑

科技云报道原创。 “没有应用&#xff0c;光有一个基础模型&#xff0c;不管是开源还是闭源&#xff0c;一文不值。”在2024世界人工智能大会&#xff08;WAIC 2024&#xff09;现场&#xff0c;百度创始人、董事长兼首席执行官李彦宏直言。 国产大模型的种类越发丰富&#x…