博客
关于我
20190718
阅读量:117 次
发布时间:2019-02-26

本文共 1395 字,大约阅读时间需要 4 分钟。

C++基础学习

  • 双冒号:: 和命名空间
  • 双冒号:: 是C++中用于作用域解析的符号。在全局作用域下,双冒号用于直接访问全局变量或函数。在命名空间下,双冒号用于指定命名空间中的元素。

    命名空间用于解决命名冲突问题。与全局变量不同,命名空间下的作用范围可以更大且更灵活。命名空间可以包含函数、变量、结构体、类等,并且可以嵌套其他命名空间。命名空间是开放的,可以随时添加新的内容,而不是覆盖或替换。

    1. namespace 命名空间
    2. namespace 是用于定义命名空间的关键字。它可以解决命名冲突问题,确保在不同命名空间下使用相同名称的变量或函数时不会互相干扰。命名空间可以嵌套,且在编译时会被展开合并,而不是覆盖。

      1. using声明和using编译指令
      2. using声明用于在代码中使用命名空间中的元素,而不必使用双冒号::。它可以显著简化代码,但需要注意以下几点:

        • using KingGlory::sunwukongId; 可以直接使用 sunwukongId。
        • 使用 using namespace KingGlory; 后,sunwukongId 可以直接使用,无需 ::。
        • using namespace LOL; 后,cout<<sunwukongId<<endl 需要注明 LOL::sunwukongId。
        1. C++对C语言的增强
        2. C++在C语言基础上增强了很多功能:

          4.1 全局变量检测增强

          • 函数检测增强
          • 传参类型检测
          • 返回值检测
          • 参数个数检测

          4.2 类型转换增强

          • malloc 返回 void*, 在 C++ 中必须使用 dynamic_cast 进行强制转换。

          4.3 struct 增强

          • C++ 中可以直接定义函数,C 中必须使用 struct 关键字。

          4.4 bool 数据类型

          • C++ 引入了 bool 数据类型,用于表示布尔值。

          4.5 三目运算符增强

          • C++ 中三目运算符可以直接返回变量,而不是返回值。
          1. const 增强
          2. const 在 C++ 中有更严格的意义:

            • C 中的 const 是伪常量,可以分配内存。
            • C++ 中的 const 是真正的常量,不分配内存。
            • const 只能在编译时确定,无法在运行时修改。
            • extern const 可以在外部文件中找到,C++默认是内部链接,需用 extern 关键字标记。
            1. const 内存问题
            2. const 变量在 C++ 中有特定的内存管理方式:

              • 取地址会临时分配内存。
              • extern const 会分配内存。
              • 用普通变量初始化 const 变量会分配内存。

              示例:int a = 10;const b = a; // b 是常量,分配了内存。int p = (int)b; // 可以通过指针修改 b 的值。

              1. 引用 type
              2. 引用用于获取原类型的变量,而不是复制值:

                • 必须在声明时初始化,且不能在运行时修改。
                • int a = 10;int &b = a; // b 可以修改 a 的值。
                • int arry[10];int (&Arrary)[10] = arry; // 给数组取别名。
                • typedef int (ARRYREF)[10]; // 定义数组引用类型。ARRYREF &Arrary2[10] = arry; // 使用引用类型初始化数组。

                也看了书上前四章的内容,以后每天尽量写一些练习代码。

    转载地址:http://pahu.baihongyu.com/

    你可能感兴趣的文章
    python在gpu上运行_【python】python开启GPU加速
    查看>>
    Python在def函数中使用for循环
    查看>>
    Python在def函数中使用for循环
    查看>>
    Python在Conda环境中,但在Windows虚拟环境中没有激活
    查看>>
    python系列【仅供参考】:python pip 错误 ModuleNotFoundError: No module named pip._internal 解决办法
    查看>>
    python图像条状状噪声,使用PYTHON PIL从验证码图像中删除背景嘈杂的线条
    查看>>
    Python图像处理:从内存加载jpeg
    查看>>
    python固定后缀(名物化词汇)词频统计:抽取+统计+可视化
    查看>>
    python商品评论数据采集与分析可视化系统 Flask框架 requests爬虫 NLP情感分析 毕业设计 源码
    查看>>
    python商品数据分析可视化系统(带爬虫)京东销售数据分析 计算机毕业设计 源码下载
    查看>>
    python商品库存管理系统 django框架 商品网站 MySQL数据库 源码下载 计算机毕业设计
    查看>>
    Python哪个版本最稳定好用2023.10.19
    查看>>
    Python和黑客技术的渊源
    查看>>
    Python和RF编写接口自动化
    查看>>
    Python和RF编写web自动化
    查看>>
    python和js哪个难_【Python】记一次学习,Python 与 js 在实现闭包时的差异
    查看>>
    python和java哪个更值得学——来自知乎高赞回答
    查看>>
    python和c混合编程 github_在pycharm中使用git版本管理以及同步github的方法
    查看>>
    python命名空间更改_Python模块xml.etree.ElementTree自动修改xml命名空间键
    查看>>
    Python命名中尾随下划线有什么好处?
    查看>>