当前位置: 首页 > news >正文

C++——初步认识C++和namespace的用法

1.编程语言排行榜

我们通过排行可以看出 C++在变成语言中还是占据着重要的地位

2.C++在工作领域中的应用

1.PC客户端开发。⼀般是开发Windows上的桌面软件,比如WPS之类的,技术栈的话⼀般是C++和 QT,QT 是⼀个跨平台的 C++图形用户界面(Graphical User Interface,GUI)程序。

2. 服务端开发。各种大型应用网络连接的高并发后台服务。这块Java也比较多,C++主要用于⼀些对 性能要求比较高的地方。如:游戏服务、流媒体服务、量化高频交易服务等

3. 游戏引擎开发。很多游戏引擎就都是使⽤C++开发的,游戏开发要掌握C++基础和数据结构,学习 图形学知识,掌握游戏引擎和框架,了解引擎实现,引擎源代码可以学习UE4、Cocos2d-x等开源 引擎实现

4. 嵌⼊式开发。嵌入式把具有计算能力的主控板嵌⼊到机器装置或者电子装置的内部,通过软件能够 控制这些装置。比如:智能手环、摄像头、扫地机器⼈、智能音响、门禁系统、车载系统等等,粗略⼀点,嵌入式开发主要分为嵌入式应用和嵌入式驱动开发。

3.namespace的应用

1.定义命名空间,需要使用到namespace关键字,后⾯跟命名空间的名字,然后接⼀对{}即可,{}中 即为命名空间的成员。命名空间中可以定义变量/函数/类型等。

2.C++中域有函数局部域,全局域,命名空间域,类域;域影响的是编译时语法查找⼀个变量/函数/ 类型出处(声明或定义)的逻辑,所有有了域隔离,名字冲突就解决了。局部域和全局域除了会影响 编译查找逻辑,还会影响变量的生命周期,命名空间域和类域不影响变量生命周期。

1.namespace的用处

当我们用rand的时候便会报错,那么我们怎么样可以给他赋值呢?这便用到了namespace 

 

这时,我们调用namespace域内的变量即可。我们可以看到printf的内部,我在rand的前面加了sun::,这是对你的域进行调用,这个sun是我对域的命名。

同样的,当我们想要调用这个域内的函数的时候,也是sun::+函数名字即可

 

 2. namespace可以嵌套

在sun域内,我又定义了xiao和da,同时定义了两个rand,这里我用的是大的rand的值。 

3.当定义的域名字相同时,会默认合并到一起

这里我定义了两个名字为sun的域,但是当我调用的时候,他会找到含有这个函数的域并且调用。 

4.命名空间的应用 

编译查找⼀个变量的声明/定义时,默认只会在局部或者全局查找,不会到命名空间里面去查找。所以 下面程序会编译报错。所以我们要使用命名空间中定义的变量/函数,有三种方式:

• 指定命名空间访问,项目中推荐这种方式。

• using将命名空间中某个成员展开,项目中经常访问的不存在冲突的成员推荐这种方式。

• 展开命名空间中全部成员,项目不推荐,冲突风险很大,日常小练习程序为了方便推荐使用。

  1.指定命名

因为默认查找全局变量和局部变量,所以找不到a。这是我们只要sun::a即可,上面已经有展示了。

2.将某一个成员展开

这时我没有在全局或局部定义b,所以他会去找域内的b。 

 

当我们在全局定义b时,会出现报错的情况。但是在局部定义时不会出现此情况,并且b的值是你在局部定义的b的值。 

3.将域内全部展开 

 

这里直接将域展开,所以可以直接得到a,b的值。 

5.C++的输入与输出

<iostream>是 Input Output Stream 的缩写,是标准的输入、输出流库,定义了标准的输入、输 出对象。

• std::cin 是 istream 类的对象,它主要面向窄字符(narrow characters (of type char))的标准输 入流。

• std::cout 是 ostream 类的对象,它主要面向窄字符的标准输出流。

• std::endl 是⼀个函数,流插入输出时,相当于插入⼀个换行字符加刷新缓冲区。  相当于“\n”

 

 

从图中我们看到"\n"与endl的作用一样。 并且我们可以看见cin可以自动识别变量的类型。

相关文章:

C++——初步认识C++和namespace的用法

1.编程语言排行榜 我们通过排行可以看出 C在变成语言中还是占据着重要的地位 2.C在工作领域中的应用 1.PC客户端开发。⼀般是开发Windows上的桌面软件&#xff0c;比如WPS之类的&#xff0c;技术栈的话⼀般是C和 QT&#xff0c;QT 是⼀个跨平台的 C图形用户界面&#xff08;G…...

LeetCode118:杨辉三角

题目链接&#xff1a;118. 杨辉三角 - 力扣&#xff08;LeetCode&#xff09; 代码如下 class Solution {public:vector<vector<int>> generate(int numRows) {vector<vector<int>> dp(numRows);vector<int> temp(numRows);for (int i 0; i &…...

介绍一下大模型或者多模态?

什么是大模型、多模态 大模型多模态 大模型 定义&#xff1a; 大模型&#xff0c;通常指的是在深度学习领域&#xff0c;具有大规模参数和复杂结构的模型。这些模型往往需要大量的计算资源和数据进行训练和推理。大模型因其强大的表示能力和泛化性能&#xff0c;在多个领域展现…...

深度学习之图像数据集增强(Data Augmentation)

文章目录 一、 数据增强概述二、python实现传统数据增强参考文献 一、 数据增强概述 数据增强&#xff08;Data Augmentation&#xff09;是一种技术&#xff0c;通过对现有数据进行各种变换和处理来生成新的训练样本&#xff0c;从而增加数据集的多样性和数量。这些变换可以是…...

小程序与APP的区别

目录 前言1. 开发方式与成本2. 运行环境与获取途径3. 功能复杂度与交互体验4. 更新与维护5. 推广与用户获取6. 占用空间与存储7. 可分享性总结 前言 小程序与APP作为两种不同类型的应用程序&#xff0c;它们在多个方面存在明显的区别。以下是对这些区别的详细阐述&#xff1a;…...

Linux Kernel Makefiles 编译标志详解

在Linux内核开发中&#xff0c;Makefile文件扮演着至关重要的角色&#xff0c;它指导make命令如何编译和链接内核源代码。Makefile中包含了多种编译标志&#xff08;flags&#xff09;&#xff0c;这些标志控制着编译、汇编和链接过程的不同方面。本文将详细介绍几种关键的编译…...

数据可视化pyecharts——数据分析(柱状图、折线图、饼图)

安装 首先确保已经安装了pyecharts库&#xff0c;如果没有&#xff0c;可以通过pip install pyecharts进行安装。 柱状图 从pyecharts.charts导入Bar&#xff0c;从pyecharts导入options。准备数据&#xff08;如类别数据x_data和对应的数值数据y_data&#xff09;。创建Bar对…...

小程序构建npm失败

小程序构建npm失败 项目工程结构说明解决方法引入依赖导致的其他问题 今天在初始化后的小程序中引入TDesign组件库&#xff0c;构建npm时报错。 项目工程结构说明 初始化后的项目中&#xff0c;包含miniprogram文件夹和一些项目配置文件&#xff0c;在project.config.json文件中…...

计算机人工智能前沿进展-大语言模型方向-2024-09-20

计算机人工智能前沿进展-大语言模型方向-2024-09-20 1. Multimodal Fusion with LLMs for Engagement Prediction in Natural Conversation Authors: Cheng Charles Ma, Kevin Hyekang Joo, Alexandria K. Vail, Sunreeta Bhattacharya, Alvaro Fern’andez Garc’ia, Kailan…...

cv环境设置

pytorch TensorFlow。。。 环境布置&#xff0c;库的安装顺序&#xff1a; 确定显卡可用的cuda上下限 (比如3090需要至少11.x以上的cuda参考&#xff1a; 一文理顺&#xff1a;pytorch、cuda版本&#xff0c;从此不再为兼容问题头疼&#xff01; - 哔哩哔哩 (bilibili.com)&am…...

线性代数书中求解线性方程组的三种方法的实例

目录 一、克拉默法则(P45) 二、逆矩阵(P46) 三、高斯-约旦消元法(P65) 一、克拉默法则(P45) 二、逆矩阵(P46) 三、高斯-约旦消元法(P65)...

Linux容器化管理——Docker常见命令总结

创建镜像 docker build -t &#xff08;镜像名&#xff09; . 自动在当前目录下找dockerfile也可换成其他路径 查看本地镜像 docker images 登陆镜像服务器 docker login -u &#xff08;登录名&#xff09; -p &#xff08;登陆密码&#xff09; &#xff08;镜像服务器…...

智慧校园建设解决方案建设系统简介

一、建设背景 1.1 政策背景 1.2 班牌的演变 1.3 建设愿景 二、 智慧班牌简介 三、智慧班牌系统 3.1 系统概述 3.2 软件平台功能交互简介 3.2.1 智慧班牌与管理平台间的功能关联 3.2.2 手机客户端&#xff08;管理员、教师、家长端&#xff09; 3.2.3 手机客户端&#x…...

用Python打造互动式中秋节庆祝小程序

中秋节&#xff0c;这个充满传统韵味的节日&#xff0c;不仅是家人团聚的时刻&#xff0c;也是程序员展示创意的好机会。本文将引导您使用Python创建一个互动式中秋节庆祝小程序&#xff0c;它不仅能够展示节日祝福&#xff0c;还能通过一些简单的特效增加节日气氛。 文章目录 …...

Linux 生成 git ssh 公钥

在Linux系统中生成SSH公钥以用于Git的步骤如下&#xff1a; 打开终端&#xff1a;首先&#xff0c;你需要打开你的Linux系统的终端。 检查SSH密钥&#xff1a;在生成新的SSH密钥之前&#xff0c;你可以检查是否已经存在SSH密钥。在终端中输入以下命令&#xff1a; ls -al ~/.s…...

CertiK因发现Apple Vision Pro眼动追踪技术漏洞,第6次获苹果认可

​2024年9月20日&#xff0c;头部Web3.0安全机构CertiK自豪地宣布&#xff0c;CertiK的工程师因发现Apple Vision Pro MR&#xff08;混合现实&#xff09;头显设备中的关键漏洞而获得Apple公司认可&#xff0c;这已经是Apple公司第六次公开发布对CertiK的致谢&#xff0c;Cert…...

自动登录 RPA 的进阶:滑块验证的巧妙实现

​在RPA的众多应用场景的探索中&#xff0c;自动登录是一个至关重要的环节&#xff0c;它为后续的自动化操作奠定了基础。然而&#xff0c;当我们面对滑块验证这一常见的挑战时&#xff0c;常常会感到困惑和无从下手。本文就来分享自动登录RPA的进阶----滑块验证如何实现。 在…...

Flask-WTF的使用

组织一个 Flask 项目通常需要遵循一定的结构&#xff0c;以便代码清晰、可维护。下面是一个典型的 Flask 项目结构&#xff1a; my_flask_app/ │ ├── app/ │ ├── __init__.py │ ├── models.py │ ├── views.py │ ├── forms.py │ ├── templat…...

Docker 进入容器并运行命令的方法

目录 理解 Docker 容器的基本概念 使用 docker exec 进入运行中的容器 基本用法 常用选项解析 选项详解 实际案例演示 1. 进入容器的交互式 Shell 2. 在容器中运行单个命令 3. 以指定用户运行命令 4. 设置环境变量并运行命令 5. 指定工作目录 使用 docker attach 附…...

2024“华为杯”中国研究生数学建模竞赛(E题)深度剖析_数学建模完整过程+详细思路+代码全解析

问题1详细解答过程 (1) 交通流参数统计 数据预处理 数据读取&#xff1a; 从四个视频观测点提取交通流数据&#xff0c;包括每个时间段内的车流量、车速和车道占用率等。 交通流参数计算 3. 计算流量 (Q)&#xff1a; Q ( t ) N ( t ) Δ t Q(t) \frac{N(t)}{\Delta t} Q…...

Flask RESTful 示例

目录 1. 环境准备2. 安装依赖3. 修改main.py4. 运行应用5. API使用示例获取所有任务获取单个任务创建新任务更新任务删除任务 中文乱码问题&#xff1a; 下面创建一个简单的Flask RESTful API示例。首先&#xff0c;我们需要创建环境&#xff0c;安装必要的依赖&#xff0c;然后…...

3.3.1_1 检错编码(奇偶校验码)

从这节课开始&#xff0c;我们会探讨数据链路层的差错控制功能&#xff0c;差错控制功能的主要目标是要发现并且解决一个帧内部的位错误&#xff0c;我们需要使用特殊的编码技术去发现帧内部的位错误&#xff0c;当我们发现位错误之后&#xff0c;通常来说有两种解决方案。第一…...

Qt Widget类解析与代码注释

#include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this); }Widget::~Widget() {delete ui; }//解释这串代码&#xff0c;写上注释 当然可以&#xff01;这段代码是 Qt …...

在 Nginx Stream 层“改写”MQTT ngx_stream_mqtt_filter_module

1、为什么要修改 CONNECT 报文&#xff1f; 多租户隔离&#xff1a;自动为接入设备追加租户前缀&#xff0c;后端按 ClientID 拆分队列。零代码鉴权&#xff1a;将入站用户名替换为 OAuth Access-Token&#xff0c;后端 Broker 统一校验。灰度发布&#xff1a;根据 IP/地理位写…...

搭建DNS域名解析服务器(正向解析资源文件)

正向解析资源文件 1&#xff09;准备工作 服务端及客户端都关闭安全软件 [rootlocalhost ~]# systemctl stop firewalld [rootlocalhost ~]# setenforce 0 2&#xff09;服务端安装软件&#xff1a;bind 1.配置yum源 [rootlocalhost ~]# cat /etc/yum.repos.d/base.repo [Base…...

scikit-learn机器学习

# 同时添加如下代码, 这样每次环境(kernel)启动的时候只要运行下方代码即可: # Also add the following code, # so that every time the environment (kernel) starts, # just run the following code: import sys sys.path.append(/home/aistudio/external-libraries)机…...

uniapp 字符包含的相关方法

在uniapp中&#xff0c;如果你想检查一个字符串是否包含另一个子字符串&#xff0c;你可以使用JavaScript中的includes()方法或者indexOf()方法。这两种方法都可以达到目的&#xff0c;但它们在处理方式和返回值上有所不同。 使用includes()方法 includes()方法用于判断一个字…...

WEB3全栈开发——面试专业技能点P7前端与链上集成

一、Next.js技术栈 ✅ 概念介绍 Next.js 是一个基于 React 的 服务端渲染&#xff08;SSR&#xff09;与静态网站生成&#xff08;SSG&#xff09; 框架&#xff0c;由 Vercel 开发。它简化了构建生产级 React 应用的过程&#xff0c;并内置了很多特性&#xff1a; ✅ 文件系…...

Java设计模式:责任链模式

一、什么是责任链模式&#xff1f; 责任链模式&#xff08;Chain of Responsibility Pattern&#xff09; 是一种 行为型设计模式&#xff0c;它通过将请求沿着一条处理链传递&#xff0c;直到某个对象处理它为止。这种模式的核心思想是 解耦请求的发送者和接收者&#xff0c;…...

云原生时代的系统设计:架构转型的战略支点

&#x1f4dd;个人主页&#x1f339;&#xff1a;一ge科研小菜鸡-CSDN博客 &#x1f339;&#x1f339;期待您的关注 &#x1f339;&#x1f339; 一、云原生的崛起&#xff1a;技术趋势与现实需求的交汇 随着企业业务的互联网化、全球化、智能化持续加深&#xff0c;传统的 I…...