• 寒假学习笔记(1)


    2018.2.7

    常变量 const

    • const 数据类型 常变量名=初始值;
    • 使用const关键字指定常变量;
    • 定义时必须初始化;
    • 不能再次被赋值;
    • 用const定义与用define定义的区别:
      区别1
      define是宏定义,程序在预处理阶段将用define定义的内容进行了替换。因此程序运行时,常量表中并没有用define定义的常量,系统不为它分配内存。
      const定义的常量,在程序运行时在常量表中,系统为它分配内存。
      区别2
      define定义的常量,预处理时只是直接进行了替换。所以编译时不能进行数据类型检验。
      const定义的常量,在编译时进行严格的类型检验,可以避免出错。
      区别3
      define定义表达式时要注意“边缘效应”,例如如下定义:
      #define N 2+3 //我们预想的N值是5,我们这样使用N
      int a = N/2; //我们预想的a的值是2.5,可实际上a的值是3.5
      原因在于在预处理阶段,编译器将 a = N/2处理成了 a = 2+3/2;这就是宏定义的字符串替换的“边缘效应”因此要如下定义
      #define N (2+3)
      const定义表达式没有上述问题
      const定义的常量叫做常变量原因有二:
      1,const定义常量像变量一样检查类型。
      2,const可以在任何地方定义常量,编译器对它的处理过程与变量相似,只是分配内存的地方不同(常量在静态区,变量在栈区)。

    引用

    • 引用类型&引用变量名=被引用变量;
    • 被引用变量必须是一个已经定义的变量;
    • 引用变量和被引用变量共用内存;
    • 引用传递(1):引用传递将被调函数的形参定义成主调函数中实参变量的引用,被调函数通过该引用间接访问主调函数中的变量;
    • 引用传递(2):实际上修改的是实参,也就是说这是一种双向数据传递机制。不同于值传递的单向性;

    特殊函数

    • 带默认形参值的函数;

      • 带默认值的形参必须定义在形参列表的后面;
    • 重载函数;
      - 如果两个函数的形参个数不同,或数据类型不同,那么这两个函数就可以重名,称为重载函数。

    • 内联函数(inline);
      - 编译源代码时将函数代码直接嵌入到每一个调用语句处,而在执行时不再进行函数跳转和数据传递。
      - 只能是简单函数,复杂函数会以非内联形式出现。


    寒假学习计划

  • 相关阅读:
    JAVA网络编程-IP组播
    Centos7安装Node
    Android Studio解决support-annotations版本冲突
    Wordpresss建站笔记:英文模板出现中文如何解决?
    Win10系统下插入耳机前面板无声后面板有声的处理(二)
    webstorm编辑器html浏览器快捷浏览按键图标消失的处理
    近期的感想
    Octet string 解析
    SSH隧道:端口转发功能详解
    uint, not []uint8
  • 原文地址:https://www.cnblogs.com/pullself/p/8428760.html
Copyright © 2020-2023  润新知