• 第九章


    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,是内部链接

  • 相关阅读:
    vue之条件渲染
    webstorm(三):webstorm的一些waring提示
    JavaScript ES6中,export与export default
    git(三):第一次github了解使用
    webstorm(一): 提示css未使用的选择器Selector is never used
    git(二):一些简单入门命令
    git(一):了解、学习、安装git
    关于css虚线
    Mysql聚合函数
    Mysql对用户的操作
  • 原文地址:https://www.cnblogs.com/daocaorenblog/p/4811514.html
Copyright © 2020-2023  润新知