• 21天学通C++_Day2


    继续学习,今天满课,相对学习内容较少,下面罗列内容:

    0、常量

    ▪字面常量;

    ▪使用关键字const声明的常量,const double Pi = 22.0/7;  //后面有分号,跟定义变量一样

    ▪使用关键字constexpr声明的常量表达式,constexpr double GetPi() {return 22.0/7;}  //中间有空格,和#define格式一致

    ▪使用关键字enum声明的枚举常量,

    enum RainbowColors

    {

      Violet = 0,  //第一个枚举值指定为0(默认也为0),后面枚举值编译器认为依次加1

      Blue,  

      Red

    };  //后面分号一定要有

    RainbowColors MyColor = Blue;

    ▪使用#define定义的常量(已摒弃,不推荐),#define Pi 3.14286

      摒弃理由:#define是一个预处理器编译指令,让编译器对定义的值进行文本替换。然而,它不是类型安全的,是一种原始的常量定义方式,应避免使用。

    1、为何应给变量赋初值?

    有时候,需要根据变量的值(通常是核实它不为零)做条件处理,如果不对变量进行初始化,这样的逻辑将不可靠,因为未赋值或初始化的变量包含的内容是随机的

    2、关于全局变量

    应用程序的任何地方都可修改值,导致代码不稳定,所以不要为图简单使用全局变量。

    3、unsigned int变量值为0,减1后结果如何?

    环绕到可存储的最大值!所以,要在定义类型时就考虑清楚!

    4、数组

    C++编译器不会检查索引是否在数组的范围内,访问数组时,如果超越其边界,结果是无法预料的。很多情况下会崩溃。所以,要避免出现这种“篱笆柱错误”。

    ▪多维数组:C++可以模拟多维数组,但存储数组的内存仍为一维的。

    ▪动态数组:

    vector<int> Dynarr (3);

    int Num = 3;

    Dynarr.push_back(Num);  //使用push_back()将Num压入到矢量中,而这个矢量动态地调整其长度,以存储更多数据

    注:使用到了动态数组类 std::vector,需要包含头文件  #include <vector>

    明天继续!

  • 相关阅读:
    JavaScript教程——JavaScript 的基本语法(标识符)
    ECMAScript 6 入门——ES6 声明变量的六种方法
    JavaScript教程——数据类型概述
    对称机密算法与非对称机密算法
    C语言提高 (2) 第二天 用指针对字符串进行操作
    C语言提高 (1) 第一天 数据类型本质与内存四区
    关于内存地址和内存空间的理解(转)
    为什么对数组处理的函数需要传递数组长度
    Unicode编码,解释UCS、UTF、BMP、BOM等名词
    上海
  • 原文地址:https://www.cnblogs.com/Big-Rabbit/p/4364381.html
Copyright © 2020-2023  润新知