• 一大波放鄙视接近中


    一个个来,首先static

    static成员变量只能类外初始化  type classname::var(=x);

    static函数可以类里定义也可类外...

    而貌似static 非成员函数的static只表示该函数仅该文件可见...

    关于引用

    引用要绑定实体,这个实体是 int &ra=func(); 语句等号右边的值,即函数func()的返回值(也是一个引用,而这个引用每次调用时在return 语句中被初始化为静态变量a),
    所以,ra的实体是a。
    代码:

    程序代码:

    #include <iostream>
    using namespace std;
    int & func()
    {
    static int a; //静态局部变量a的生命周期是全局的
    static int j;
    printf("&a=%ld,&j=%ld ",&a,&j);
    return a;//返回一个生命周期长于func函数执行期的变量
    }
    int main()
    {
    int i;
    int &ra=func(); //ra为静态变量的别名
    printf("&ra=%ld,&i=%ld ",&ra,&i);
    cout<<func()<<endl; //输出0 ,静态变量默认为0
    func()+=8;     //作为左值使用
    cout<<func()<<endl;//输出8
    ra +=10;                  // 丧失了局部可见性
    cout<<func()<<endl;//输出18
    return 0;
    }


    可以证明ra的实体是a。

    关于构造执行顺序 http://tieba.baidu.com/p/2615857662

    先mark一下

  • 相关阅读:
    timerfd与eventfd
    boost--asio
    boost--线程
    boost--线程同步
    C++11--lambda表达式
    Java数据类型中String、Integer、int相互间的转换
    Jsoup网页抓取
    线程池
    Java
    用cmd来向mysql导入sql文件
  • 原文地址:https://www.cnblogs.com/cavehubiao/p/3341117.html
Copyright © 2020-2023  润新知