《c++ primer, 5E》第38页到第47页

1、列表初始化。 例如:int i{3.14};

2、分离式编译以及关键字extern

3、显示访问全局变量。 例如:::reused

 

练习 2.16

#include<iostream>

int main()
{
    int i = 0, &r1 = i;
    double d = 0, &r2 = d;
    
    
    r2 = 3.14159;
    std::cout << d << std::endl; // 3.14
    
    r2 = r1;
    std::cout << d << std::endl; // 0
    
    i = r2;
    std::cout << i << std::endl; // 0
    
    r1 = d;
    std::cout << r1 << std::endl; // 0
    
    return 0;
}

// 这些赋值不都是合法的吗??!

 

练习 2.17

// 10 10 

#include<iostream>

int main()
{
    int i, &ri = i;
    i = 5; ri = 10;
    std::cout << i << " " << ri << std::endl; 
}

 

收获:

1、总是显示初始化变量(初始化和赋值是不同的)。

2、在对象第一次使用的地方附近定义它。