2020-12-21 C++ Primer Plus 第九章 内存模型和名称空间 复习题

9.5复习题

a.自动
b.静态(外部链接性)
c.静态(内部链接性)static
d.静态(无链接性)

using声明:将特定的名称添加到它所属的声明区域中
using编译:它使名称空间中的所有名称都可用

#include 
int main()
{
    double x;
    std::cout << "Entre value: ";
    while (!(std::cin>>x))
    {
        std::cout << "Bad input .Please enter a number: ";
        std::cin.clear(); //清除错误
        while (std::cin.get()!='\n')
            continue;
    }
    std::cout << "Value = "<< x << std::endl;
    return 0;

}
#include 
int main()
{
    using std::cout;
    using std::cin;
    using std::endl;
    double x;
    cout << "Entre value: ";
    while (!(cin>>x))
    {
        cout << "Bad input .Please enter a number: ";
        cin.clear(); //清除错误
        while (cin.get()!='\n')
            continue;
    }
    cout << "Value = "<< x << endl;
    return 0;
}

file1.cpp

#include 
namespace file1{
    int average(int a,int b)
    {
        return (a+b)/2;
    }
}
int main()
{
    int s1=1,s2=2;
    int mean=file1::average(s1,s2);
    std::cout << mean << std::endl;
}

file2.cpp

#include 
namespace file2{
    double average(int a,int b)
    {
        double sum=a+b;
        return sum/2;
    }
}
int main()
{
    int s1=1,s2=2;
    double mean=file2::average(s1,s2);
    std::cout << mean << std::endl;
}

file1.cpp

#include 
using namespace std;
void other();
void another();
int x = 10;
int y;
int main()
{
    cout << x << endl;      //x=10
    {
        int x = 4;
        cout << x << endl;   //x=4
        cout << y << endl;   //y=0,未被初始化的静态变量的所有位都被设置为 0
    }
    other();    //x=10,y=1
    another();  //x=10,y=4
    return 0;
}
void other()
{
    int y=1;
    cout << "Other: " << x << ", "<< y << endl;
}

file2.cpp

#include 
using namespace std;
extern int x;
namespace        //未命名的名称空间,作用域为:从声明点到该声明区域末尾
{
    int y=-4;
}
void another()
{
    cout << "another(): " << x << ", " << y << endl;
}

输出为
10
4
0
Other: 10,1
another():10, -4

#include 
using namespace std;
void other();
namespace n1
{
    int x = 1;
}
namespace n2
{
    int x = 2;
}

int main()
{
    using namespace n1;
    cout << x << endl;   //x=1
    {
        int x = 4;
        cout << x << ", " <

输出为:
1
4,1,2
2
2
4,1,2
2

你可能感兴趣的:(2020-12-21 C++ Primer Plus 第九章 内存模型和名称空间 复习题)