zoukankan      html  css  js  c++  java
  • 寒假学习笔记(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);
      - 编译源代码时将函数代码直接嵌入到每一个调用语句处,而在执行时不再进行函数跳转和数据传递。
      - 只能是简单函数,复杂函数会以非内联形式出现。


    寒假学习计划

  • 相关阅读:
    一加5安卓P刷入twrp的recovery
    使用flask搭建微信公众号:实现签到功能
    使用flask搭建微信公众号:接收与回复消息
    Python中的单例设计模式
    Python中的异常处理
    Python面向对象 --- 新旧式类、私有方法、类属性和类方法、静态方法
    Python面向对象的三大特征 --- 封装、继承、多态
    Python面向对象 --- 类的设计和常见的内置方法
    Python中函数装饰器及练习
    Python中函数练习
  • 原文地址:https://www.cnblogs.com/pullself/p/8428760.html
Copyright © 2011-2022 走看看