zoukankan      html  css  js  c++  java
  • 第九章

    1、单独编译

    自己的头文件里可放的内容:

      函数原型,使用#define或const定义的符号常量,结构声明,类声明,模板声明,内联函数

    对于自己写的头文件要双引号包含文件名,则编译器将首先查找当前的工作目录或源代码目录;当文件名包含在间括号中,则编译器将在标准头文件的主机系统的文件系统中查找。

    在同一文件中只能将同一头文件包含一次。   C/C++中有基于预处理编译指令#ifndef(if not defined)

    #ifndef COORDIN_H

    ……

    #endif                 //代码的含义为当以前没有使用预处理编译指令#define定义名称COORDIN_H时,才处理#ifndef和#endif之间的语句。

    2、存储持续性、作用域和链接性

    存储:

     自动存储持续性:在函数定义中声明的变量,在程序开始时被创建,在执行完函数或代码时,内存被释放。           //无链接性

      静态存储持续性:在函数定义外定义的变量和使用关键字static定义的变量,他们在整个运行过程中都存在。       

        //在代码块内的使用关键字static,无链接性;在代码块外没有使用关键字static,有外部链接性;在代码快外,使用了关键字static,有内部链接特性

     线程存储持续性: 使用关键字thread_local声明的,其生命周期与所述的线程一样长。

     动态存储持续性:用new运算符分配的内存将一直存在,直到使用delete运算符将其释放或程序结束为止。

    ------------------

    file1

    int tom=3;

    int dick=30;

    static int harry=300;  //只能在这个文件内部使用

    ------------------------

    file2

    extern int tom ;        //使用的还是file1的文件中的变量

    static int dick=10;    //重载了dick,是内部链接

  • 相关阅读:
    Jsの练习-将 数组中值为0 的去掉,不为0的存入一个新的数组
    Jsの数组练习-求一组数中的最大值和最小值,以及所在位置
    ES6-解构赋值
    vue初体验-ES6 基础知识补充 let 和const
    2D过渡模块的其他属性
    CSS学习笔记-05 过渡模块的基本用法
    echarts笔记
    不可思议的纯 CSS 滚动进度条效果
    十大排序算法
    关于input上传文件
  • 原文地址:https://www.cnblogs.com/daocaorenblog/p/4811514.html
Copyright © 2011-2022 走看看