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

00---C++入门

1. C++关键字(C++98)

C++总计63个关键字,C语言32个关键字

 2. 命名空间

在C/C++中,变量、函数和后面要学到的类都是大量存在的,这些变量、函数和类的名称将都存在于全局作用域中,可能会导致很多冲突。使用命名空间的目的是对标识符的名称进行本地化以避免命名冲突或名字污染,namespace关键字的出现就是针对这种问题的。

 2.1 命名空间定义

定义命名空间,需要使用到namespace关键字,后面跟命名空间的名字,然后接一对{}即可,{} 中即为命名空间的成员。

 

 注意:

1.一个命名空间就定义了一个新的作用域,命名空间中的所有内容都局限于该命名空间中

2.命名空间声明和初始化后,不能再命名空间内赋值

 2.2 命名空间使用

 命名空间的使用有三种方式:作用域限定符(::)

  •  加命名空间名称及作用域限定符
  •  使用using将命名空间中某个成员引入(常用)

  •  使用using namespace 命名空间名称 引入--把整个命名空间展开,展开到全局了(慎用)

3. C++输入&输出

 

说明:

  • 1. 使用cout标准输出对象(控制台)和cin标准输入对象(键盘)时,必须包含< iostream >头文件以及按命名空间使用方法使用std。
  • 2. cout和cin是全局的流对象,endl是特殊的C++符号,表示换行输出,他们都包含在包含< iostream >头文件中。
  • 3. <<是流插入运算符,>>是流提取运算符。
  • 4. 使用C++输入输出更方便,不需要像printf/scanf输入输出时那样,需要手动控制格式。 C++的输入输出可以自动识别变量类型。
  • 5. 实际上cout和cin分别是iostream和iostream类型的对象,>>和<<也涉及运算符重载等知识, 这些知识我们我们后续才会学习,所以我们这里只是简单学习他们的使用。

注意:早期标准库将所有功能在全局域中实现,声明在.h后缀的头文件中,使用时只需包含对应 头文件即可,后来将其实现在std命名空间下,为了和C头文件区分,也为了正确使用命名空间, 规定C++头文件不带.h;旧编译器(vc 6.0)中还支持<iostream.h>格式,后续编译器已不支持,因此推荐使用<iostream>+std的方式。 

 

关于cout和cin还有很多更复杂的用法,比如控制浮点数输出精度,控制整形输出进制格式等
等。因为C++兼容C语言的用法,这些又用得不是很多,这里就不展开了。

std命名空间的使用惯例:
std是C++标准库的命名空间,如何展开std使用更合理呢?

  • 1. 在日常练习中,建议直接using namespace std即可,这样就很方便。
  • 2. using namespace std展开,标准库就全部暴露出来了,如果我们定义跟库重名的类型/对 象/函数,就存在冲突问题。该问题在日常练习中很少出现,但是项目开发中代码较多、规模大,就很容易出现。所以建议在项目开发中使用,像std::cout这样使用时指定命名空间 + using std::cout展开常用的库对象/类型等方式。 

相关文章:

00---C++入门

1. C关键字(C98) C总计63个关键字&#xff0c;C语言32个关键字 2. 命名空间 在C/C中&#xff0c;变量、函数和后面要学到的类都是大量存在的&#xff0c;这些变量、函数和类的名称将都存在于全局作用域中&#xff0c;可能会导致很多冲突。使用命名空间的目的是对标识符的名称进…...

Spring-事务2

文章目录前言一、事务的特性&#xff08;ACID&#xff09;二、事务的隔离级别三、spring中的事务平台事务管理器.事务定义ISOLation_XXX&#xff1a;**事务隔离级别.**PROPAGATION_XXX&#xff1a;**事务的传播行为**.事务状态关系&#xff1a;四、使用XML文件配置事务1、 搭建…...

Windows Git Bash 配置

Windows Git Bash 配置 本文参考的文章&#xff1a; 在 Windows 的 Git Bash 中使用包管理器 - iris (ginshio.org)Git bash 安装 pacman & Windows 解压 zst 文件 | 伪斜杠青年 (lckiss.com) 一、Git的安装 Git 的安装应该是都会的&#xff0c;但还是应该说以下&#…...

java代码整合kettle9.3实现读取表中的数据,生成excel文件

java代码整合kettle9.3实现读取表中的数据&#xff0c;生成excel文件 1.简介 本次使用java代码整合kettle9.3版本&#xff0c;数据库使用mysql。 2.jar包导入 项目需要依赖部分kettle中的jar包&#xff0c;请将这部分jar包自行导入maven仓库。 <dependency><groupId…...

分享微信点餐小程序搭建步骤_微信点餐功能怎么做

线下餐饮实体店都开始摸索发展网上订餐服务。最多人选择的是入驻外卖平台&#xff0c;但抽成高&#xff0c;推广还要另买流量等问题&#xff0c;也让不少商家入不敷出。在这种情况下&#xff0c;建立自己的微信订餐小程序&#xff0c;做自己的私域流量是另一种捷径。那么&#…...

4、数组、切片、map、channel

目录一、数组二、切片三、map四、channel五、引用类型一、数组 数组&#xff1a; 数组是块连续的内存空间&#xff0c;在声明的时候必须指定长度&#xff0c;且长度不能改变所以数组在声明的时候就可以把内存空间分配好&#xff0c;并赋上默认值&#xff0c;即完成了初始化数组…...

270 uuid

270 uuid 用途 For the creation of RFC4122 UUIDs 可靠性 10000 星星 适应于浏览器或者服务器 官网链接 https://www.npmjs.com/package/uuid https://github.com/uuidjs/uuid 基本使用 import { v4 as uuidv4 } from uuid; uuidv4(); // ⇨ 9b1deb4d-3b7d-4bad-9bdd-2b0d7b3d…...

2023最新简历模板免费下载

下面分享5个简历模板网站&#xff0c;免费下载&#xff0c;建议收藏&#xff01; 2023用最漂亮的简历模板&#xff0c;让面试官眼前一亮。 1、菜鸟图库 个人简历模板|WORD文档模板免费下载 - 菜鸟图库 菜鸟图库除了有超多设计类素材之外&#xff0c;还有很多办公类素材&#…...

【CSS】元素居中总结-水平居中、垂直居中、水平垂直居中

【CSS】元素居中一、 水平居中1.行内元素水平居中&#xff08;1&#xff09;text-align2.块级元素水平居中2.1 margin&#xff08;1&#xff09;margin2.2布局&#xff08;1&#xff09;flex justify-content&#xff08;推荐&#xff09;&#xff08;2&#xff09; flexmargin…...

spring实现AOP

文章目录前言一、AOP的底层实现原理二、AOP的两种开发模式1.使用xml配置文件1.1 添加AOP依赖1.2 创建UserService1.3创建UserServiceImpl1.4创建通知类1.5 创建applicationContext.xml&#xff08;添加aop约束&#xff09;1.6 测试2.使用注解开发2.1 创建bean.xml文件配置注解方…...

neovim搭建cpp环境

文章目录Windowns下NeoVim搭建cpp环境NeoVim安装插件vim-plugindentLinevim-airlinectagstagbarcoc.vimWindowns下NeoVim搭建cpp环境 在开发过程中习惯在DIE环境中使用vim作为编辑器&#xff0c;在单独的编辑器也常使用gvim图形化编辑器。最近看到NeoVim的特性及兼容性方面不输…...

SpringBoot AES加密 PKCS7Padding 模式

AES 简介&#xff1a;DES 全称为Data Encryption Standard&#xff0c;即数据加密标准&#xff0c;是一种使用密钥加密的块算法&#xff0c;1977年被美国联邦政府的国家标准局确定为联邦资料处理标准&#xff08;FIPS&#xff09; AES 密码学中的高级加密标准&#xff08;Advan…...

按键输入驱动

目录 一、硬件原理 二、添加设备树 1、创建pinctrl 2、创建节点 3、检查 编译复制 三、修改工程模板​编辑 四、驱动编写 1、添加keyio函数 2、添加调用 3、驱动出口函数添加释放 4、添加原子操作 5、添加两个宏定义 6、初始化原始变量 7、打开操作 8、读操作 总体代…...

2023年第七周总周结 | 开学倒数第三周

为什么要做周总结&#xff1f; 1.避免跳相似的坑 2.客观了解上周学习进度并反思&#xff0c;制定可完成的下周规划 一、上周问题解决情况 晚上熬夜导致第二天学习状态不好 这周熬夜一天&#xff0c;晚上帮亲戚修手机到22:30&#xff0c;可能是晚上自己的事什么都没做&#xff…...

Springboot扫描注解类

Springboot扫描注解类的入口在AbstractApplicationContext的refresh中&#xff0c;对启动步骤不太了解的&#xff0c;可参考https://blog.csdn.net/leadseczgw01/article/details/128930925BeanDefinitionRegistryPostProcessor接口有多个实现类&#xff0c;扫描Controller、Se…...

Apache日志分析器

您的Apache HTTP服务器生成的日志数据是信息的宝库。使用这些信息&#xff0c;您可以判断您服务器的使用情况、找出漏洞所在&#xff0c;并设法改进服务器结构和整体性能。审核您的Apache日志可在以下情况派上用场&#xff0c;其中包括&#xff1a;识别和纠正频繁出现的错误以增…...

啪,还敢抛出异常

&#x1f649; 作者简介&#xff1a; 全栈领域新星创作者 &#xff1b;天天被业务折腾得死去活来的同时依然保有对各项技术热忱的追求&#xff0c;把分享变成一种习惯&#xff0c;再小的帆也能远航。 &#x1f3e1; 个人主页&#xff1a;xiezhr的个人主页 前言 去年又重新刷了…...

Apache JMeter 5.5 下载安装以及设置中文教程

Apache JMeter 5.5 下载安装以及设置中文教程JMeter下载Apache JMeter 5.5配置环境变量查看配置JDK配置JMeter环境变量运行JMeter配置中文版一次性永久设置正文JMeter 下载Apache JMeter 5.5 官方网站&#xff1a;Apache JMeter 官网 版本介绍&#xff1a; 版本中一个是Bina…...

string类模拟实现

了解过string常用接口后&#xff0c;接下来的任务就是模拟实现string类。 目录 VS下的string结构 默认成员函数和简单接口 string结构 c_str()、size()、capacity()、clear()、swap() 构造函数 拷贝构造函数 赋值重载 析构函数 访问及遍历 容量操作 reserve resize …...

cadence SPB17.4 S032 - allegro - 保存/载入光绘层定义

文章目录cadence SPB17.4 S032 - allegro - 保存/载入光绘层定义概述保存光绘层在新板子中载入已经保存的相同类型老板子定义好的光绘层定义文件碎碎念ENDcadence SPB17.4 S032 - allegro - 保存/载入光绘层定义 概述 以前布线完成, 准备出板厂文件时, 总是要手工重新建立光绘…...

AI率过高必看!4大核心方法+5款实用工具,SpeedAI真滴强!

现在各大AI检测机制越来越严格&#xff0c;不管是高校学生写毕业论文、职场人做方案汇报&#xff0c;还是自媒体输出原创内容&#xff0c;“AI检测率超标”都成了最头疼的问题——轻的要反复返工修改&#xff0c;严重的甚至会影响学分认定、项目评审结果。今天给大家整理了一套…...

生成式视觉开发:用代码创造数字艺术的完整指南

生成式视觉开发&#xff1a;用代码创造数字艺术的完整指南 【免费下载链接】skills 本仓库包含的技能展示了Claude技能系统的潜力。这些技能涵盖从创意应用到技术任务、再到企业工作流。 项目地址: https://gitcode.com/GitHub_Trending/skills3/skills 当设计师面对空白…...

SpringBoot实战:高效读取resources目录文件并实现安全下载

1. 为什么需要从resources目录读取文件&#xff1f; 在日常开发中&#xff0c;我们经常会遇到需要提供文件下载功能的场景。比如导出Excel报表、下载PDF合同、获取系统模板文件等。这些文件通常具有以下特点&#xff1a; 相对固定&#xff1a;内容不会频繁变动&#xff0c;比如…...

Step3-VL-10B-Base与卷积神经网络结合:图像理解性能提升

Step3-VL-10B-Base与卷积神经网络结合&#xff1a;图像理解性能提升 在图像识别任务中&#xff0c;传统卷积神经网络&#xff08;CNN&#xff09;虽然擅长提取局部特征&#xff0c;但在处理复杂语义理解、多模态上下文推理等任务时往往表现有限。而视觉-语言大模型&#xff08…...

智能告警管理平台如何帮助运维团队减少75%告警噪音:Keep AIOps平台实践指南

智能告警管理平台如何帮助运维团队减少75%告警噪音&#xff1a;Keep AIOps平台实践指南 【免费下载链接】keep The open-source alerts management and automation platform 项目地址: https://gitcode.com/GitHub_Trending/kee/keep 在现代IT环境中&#xff0c;运维团队…...

特征选择避坑指南:Relief与ReliefF算法的区别与适用场景全解析

特征选择避坑指南&#xff1a;Relief与ReliefF算法的区别与适用场景全解析 在数据科学项目中&#xff0c;特征选择往往是决定模型性能的关键环节。面对成百上千的特征变量&#xff0c;如何高效筛选出真正有价值的特征&#xff1f;Relief系列算法以其直观的权重计算和高效的运行…...

别再只改max_clients了!CentOS 7上vsftpd 3.0.2并发性能实战调优(附Java压测代码)

CentOS 7下vsftpd 3.0.2高并发调优实战&#xff1a;突破传统认知的性能优化指南 在Linux服务器运维领域&#xff0c;FTP服务的高并发性能优化一直是个被低估的技术难点。许多工程师习惯性地将注意力集中在max_clients和max_per_ip这两个显性参数上&#xff0c;却忽略了那些真正…...

开源社区运营:Qwen1.5-1.8B GPTQ自动回复GitHub Issues与生成Release Note

开源社区运营&#xff1a;用Qwen1.5-1.8B GPTQ自动回复GitHub Issues与生成Release Note 如果你在维护一个开源项目&#xff0c;下面这些场景你一定不陌生&#xff1a;每天打开GitHub&#xff0c;通知栏里又多了几十条未读Issues&#xff0c;有报Bug的&#xff0c;有提新功能想…...

TileLang完全指南:简化GPU编程的5个关键步骤

TileLang完全指南&#xff1a;简化GPU编程的5个关键步骤 【免费下载链接】tilelang Domain-specific language designed to streamline the development of high-performance GPU/CPU/Accelerators kernels 项目地址: https://gitcode.com/GitHub_Trending/ti/tilelang …...

专精特新企业品牌升级实操:把技术专长转换成客户敢选的购买理由

最容易做错的一步&#xff0c;不是没做&#xff0c;而是把“专精特新企业品牌升级”做成了换壳&#xff1a;标题换了&#xff0c;结构没换&#xff1b;字数变了&#xff0c;判断逻辑没变。一、问题定义很多专精特新企业都会遇到一种很委屈的状态&#xff1a;客户见完之后说“你…...