• 初识C++ (一)


    在这里插入图片描述
    经过一个多月的学习终于进入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
    using namespace std;
    int main()
    {
    	cout << "hello world" << endl;
    	return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

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

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

    using namespace std;

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

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

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

    cout << "hello world" << endl;
    
    • 1

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

    首先输出一个hello world

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

    输入

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

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

    比如说我们下面的

    在这里插入图片描述

    结语

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

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

    在这里插入图片描述

  • 相关阅读:
    vue实现自定义上传下载
    华为hcip考试,询问您解答
    一年时间过去了,LiveData真的被Flow代替了吗? LiveData会被废弃吗?
    Servlet 学习总结
    微服务项目:尚融宝(13)(前端平台:搭建管理平台前端程序)
    macos端文件夹快速访问工具 Default Folder X 最新for mac
    BATJ 互联网公司面试必问知识点:Spring 全家桶全解,java 分布式框架技术方案
    MIT 6.5840 Raft Implementation(2A, Leader Election)
    二锅头帮你整理CSS
    C# JSON转为实体类和List,以及结合使用
  • 原文地址:https://blog.csdn.net/meihaoshy/article/details/127541524