初识C++ (一)

news2024/12/25 0:38:38

这里写目录标题

  • 一. 什么是C++ ?
  • 二. 关键字
  • 三. 命名空间
    • namespace关键字
    • 命名域的使用
  • 四. c++输入输出
    • hello world
    • 输入
  • 结语

在这里插入图片描述
经过一个多月的学习终于进入C++啦
希望自己能够保持对编程的热爱 继续学习下去!
并且将学习到的知识传递给大家

一. 什么是C++ ?

C++是一种面向对象的高级程序设计语言,是C语言的超集。C++是C语言的继承,它既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行以继承和多态为特点的面向对象的程序设计。

当然这里这些都是网上的套话了 我们这里就把c++当成是c语言的一种补充 继续学习下去

二. 关键字

c++ 一共63个关键字

对比c语言的32个更多了一些

我们再后面学习到的时候会逐个进行讲解
在这里插入图片描述

三. 命名空间

在c语言中我们有一个不太能解决的问题

就是关于命名冲突的问题

比如以下代码

在这里插入图片描述
我们这里可以发现以下的错误

在这里插入图片描述
但是当我们屏蔽掉这一行代码的时候

在这里插入图片描述
我们可以发现! bug消失了

这是为什么呢?

大家不知道还记不记得我们以前学过预处理编译连接

因为我们包含了这个头文件 这个头文件里面有对于rand的定义

所以说会报错

这就叫命名冲突!!!!

但是呢 在c语言阶段我们并没有一个很好的方式来处理这些问题

只能是说知道了有这个命名冲突的存在我们将它的命名修改下

在这里插入图片描述

类似是这样子

但是我们c++提供了一个关键字来解决这些问题

namespace关键字

首先说它的作用

它类似于创建一个隐身衣

给作用域里面的所有定义的变量 函数这些套上

让别人找不到它

比如说我们可以这么写

在这里插入图片描述

我们可以发现 这里竟然不会报错了

这里就涉及到了一个查找规则的问题

当我们使用一个变量的时候 编译器会首先在局部变量中寻找 如果局部变量中没有的话就会到全局变量中寻找 如果都没有 就会报错
这里需要注意的是 编译器是不会在到命名域里面去寻找的

当然这里除了可以定义变量之外 一切你能够想到的定义类型在命名域里面都可以定义

比如说 函数 比如说 结构体

命名域的使用

命名域有三种使用方法

1 加空间名称和域作用符

比如说这样子

在这里插入图片描述
我们在这里就可以使用命名域里面定义的rand了

2. 使用using 将命名空间中的某个成员引入

比如说这样子
在这里插入图片描述

3. 使用using将整个命名域引入

比如说这样子

在这里插入图片描述

四. c++输入输出

hello world

接下来我们来用c++来写除hello world吧

在这里插入图片描述
我们来分析下这一段代码

#include<iostream>
using namespace std;
int main()
{
	cout << "hello world" << endl;
	return 0;
}

首先我们包含了一个头文件

之后我们使用了这么一行代码

using namespace std;

这里我们使用了std这样一个命名域!

说明了cout endl的定义就是在这里面的

之后我们写下来了这样一段代码

cout << "hello world" << endl;

我们可以将cout当作一个输出流

首先输出一个hello world

再之后输出一个endl(实际上就是一个换行符)

输入

我们这里cin是一个标准输入流

比我们c语言方便的一点是 这里不需要获取类型就可以

比如说我们下面的

在这里插入图片描述

结语

本篇文章主要介绍了c语言的关键字 命名空间(namespace)还有简单的输入输出

有不对的地方还请大佬指正

在这里插入图片描述

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

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

相关文章

基于javaweb的在线心理测评系统设计和实现(java+springboot+ssm+mysql+jsp)

基于javaweb的在线心理测评系统设计和实现(javaspringbootssmmysqljsp) 运行环境 Java≥8、MySQL≥5.7 开发工具 eclipse/idea/myeclipse/sts等均可配置运行 适用 课程设计&#xff0c;大作业&#xff0c;毕业设计&#xff0c;项目练习&#xff0c;学习演示等 功能说明 …

类和对象 (三)

目录 <一>const成员 <二> 取地址及const取地址操作符重载 <三>再谈构造函数&#xff08;初始化列表&#xff09; 1.构造函数体赋值 2.初始化列表 <四>explicit关键字 <五>static成员 概念 <六>友元函数 <七>友元类 <八>内部类…

2021年上半年软件设计师上午真题及答案解析(五)

41、42、43、当UML状态图用于对系统、类或用例的动态方面建模时&#xff0c;通常是对&#xff08; &#xff09;建模。以下UML状态图中&#xff0c;假设活动的状态是A&#xff0c;事件b0发生并且a>5&#xff0c;发生条件是c状态到d状态的转换条件的是&#xff08; &#xff…

HTTP缓存

http缓存分为&#xff1a;强制缓存和协商缓存 强缓存 不需要客户端就不需要向服务器发送请求&#xff0c;直接使用本地缓存 对于强缓存的资源&#xff0c;可以看到返回的状态码是 200&#xff0c;并且会显示 from memory cache/from disk cache&#xff0c;强缓存是通过 Exp…

Go语言开发k8s-04-Service操作

文章目录1. 结构体1.1 ServiceList1.2 Service1.3 TypeMeta1.4 ObjectMeta1.5 ServiceSpec1.6 ServiceStatus1.7 对照yml文件示例2. Get List语法完整示例3. Create语法完整示例4. Get Service语法完整示例5. Update Service语法完整示例6. Delete Service语法完整示例1. 结构体…

python基于PHP的个人信息管理系统

随着现代工作的日趋繁忙,人们越来越意识到信息管理的重要性与必要性,而具有个性化特色的个人信息管理系统能够高速有效的管理个人信息,从而提升自己的工作效率 社会的发展给人们的生活压力越来越大,每天所要面临的问题也越来越多,面对如此多的事情需要去处理往往会顾此失彼,将很…

SpringCloud-Hystrix服务治理

简介 Hystrix是用于服务熔断&#xff0c;容错管理工具&#xff0c;旨在通过熔断机制控制服务和第三方库的节点&#xff0c;从而对延迟和故障提供更强大的容错能力。 服务降级 当服务器压力剧增的情况下&#xff0c;根据实际业务情况及流量&#xff0c;对一些服务和页面有策略的…

Web前端入门(十八)圆角边框及盒子阴影

总目录&#xff1a;https://blog.csdn.net/treesorshining/article/details/124725459 文章目录1.圆角边框2.盒子阴影2.1 开发中阴影常用语句2.2 文字阴影1.圆角边框 在 CSS3 中&#xff0c;新增了圆角边框样式&#xff0c;这样盒子就可以变圆角了。border-radius 属性用于设置…

牛客刷题总结——Python入门03:运算符

&#x1f935;‍♂️ 个人主页: 北极的三哈 个人主页 &#x1f468;‍&#x1f4bb; 作者简介&#xff1a;Python领域优质创作者。 &#x1f4d2; 系列专栏&#xff1a;《牛客题库-Python篇》 &#x1f310;推荐《牛客网》——找工作神器|笔试题库|面试经验|实习经验内推&am…

【Linux】分析缓冲区,刷新机制,FILE

文章目录一、Linux的缓冲区(一) 用户层缓冲区(二) 内核层缓冲区&#xff08;Kernel Buffer Cache&#xff09;验证buffer增加和减少释放缓存二、缓冲区的刷新策略(一) 用户层缓冲区刷新策略(二) 内核层缓冲区刷新策略三、探究缓冲区常见问题的产生(一) 由于缺失换行符导致内容没…

相对于java,C++中的那些神奇语法

空指针还可以调用成员函数 #include <cstdio>class Person { public:void sayHello() {printf("hello!\n");} };int main() {auto * p new Person;p->sayHello();p nullptr;p->sayHello();return 0; }运行结果如下&#xff1a; hello! hello!进程已结…

【深入理解java虚拟机】JVM故障处理工具介绍

目录前言一、jps&#xff1a;虚拟机进程状况工具一、一 输出远程机器信息二、jstat&#xff1a;虚拟机统计信息监视工具三、jinfo&#xff1a; Java配置信息工具四、jmap&#xff1a; Java内存映像工具五、jhat&#xff1a;虚拟机堆转储快照分析工具六、jstack&#xff1a; Jav…

问:毁掉一个人,有多容易?答:年龄到了就可以

人到中年&#xff0c;有点难。 曾在虎扑论坛上看到一篇爆帖&#xff1a; 标题是《loser回忆录&#xff1a;一年前我月薪两万被人叫X总&#xff0c;如今在美团送外卖》&#xff0c;63万浏览量&#xff0c;回复也超过了2300条。 如题&#xff0c;帖子的主人公是一个35岁的男人…

node-sass安装失败解决方法

node-sass安装失败&#xff0c;提示如下&#xff1a; gyp verb check python checking for Python executable "python" in the PATH gyp verb which succeeded python D:Program FilesPython38python.EXE gyp ERR! configure error gyp ERR! stack Error: Command f…

nvidia显卡驱动、cuda、cudnn、tensorflow对应版本

1、下载显卡驱动 在nvidia官网下载驱动&#xff0c;驱动官网选择设备的驱动进行搜索下载即可&#xff0c;搜索时注意对应的操作系统 一般为安装NVIDIA Studio驱动版本&#xff0c;GeForce Game Ready适用于游戏玩家&#xff0c;下面是两个版本区别的官方解释 下载完的驱动会以…

关键路径 ← AOE网

【问题描述】 给定一个只有一个源点和一个汇点的有向图&#xff0c;要求求出所有的关键活动&#xff0c;并计算完成该工程至少需要多少时间。【输入格式】 第一行包含两个整数 n 和 m&#xff0c;表示顶点数和边数。 接下来 m 行&#xff0c;每行包含三个整数 u&#xff0c;v&a…

p2p开户银行审核模块功能实现

审核模块简介 用户提交开户申请后要等待审核通过才能审核成功 审核需要银行系统进行开户 使用flask框架搭建一个银行系统 用户提交审核 银行进行开户&#xff0c;在返回p2p后台通过审核 flask搭建测试银行系统 利用工厂模式搭建一个flask框架 app.py from flask import Fl…

程序员必看内容连续集之 Redis 03

目录 一、Spring整合Redis 二、注解式开发 一、Spring整合Redis ①项目的pom文件导入依赖并修改 <redis.version>2.9.0</redis.version> <redis.spring.version>1.7.1.RELEASE</redis.spring.version><dependency><groupId>redis.clien…

(附源码)计算机毕业设计SSM抗新冠肺炎药品进销存管理系统

&#xff08;附源码&#xff09;计算机毕业设计SSM抗新冠肺炎药品进销存管理系统 项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 …

Synchronized锁的使用

前言&#xff1a;大家好&#xff0c;我是小威&#xff0c;24届毕业生&#xff0c;在一家满意的公司实习。本篇文章是关于并发编程中Synchronized锁的用法知识记录&#xff0c;由于篇幅原因&#xff0c;核心原理知识下篇记录。 本篇文章记录的基础知识&#xff0c;适合在学Java的…