您的位置:首页 > 编程语言 > C语言/C++

C++Primer第五版 2.5.2节练习

2015-09-11 07:33 489 查看
练习2.33:利用本节定义的变量,判断下列语句的运行结果。

练习2.34;基于上一个练习中的变量和语句编写一段程序,输出赋值前后变量的内容,你刚才的推断正确吗?如果不对,请反复研读本节的示例直到你明白错在何处为止。

答案:2.3,2.4

int i = 0, &r = i;

auto a = r;// int a =r;

const int ci = i, &cr = ci;
auto b = ci; // int b = ci;
auto c = cr; // int c = cr;
auto d = &i; // int * d = i;
auto e = &ci;// const int * e = &ci;

const auto f = ci; // const int f = ci;
auto &g = ci;  // const int &g =ci;
//auto &h = 42;

a = 42;//正确。i,r,的值变为42
b = 42;//正确,b的值变为42 
c = 42;//正确,c的值变为42 
d = 42;// d是指向i的整型指针,不能赋值 
e = 42;//e是指针,不能赋值 
g = 42;//g和ci绑定,无法通过赋值来改变ci


2.33 ,2.34

a b c都是整型=42

d 为指针 无法从int 转换为int* e 无法从int 到const int* g 整型常量引用 不能给常量赋值

练习2.35:判断下列定义推断出的类型是什么,然后编写程序进行验证。

const int i = 42;

auto j = i; //int j = i;

const auto &k = i; //const int &k = i;

auto *p = &I; //const int *p = &i;

const auto j2 = i, &k2 = I; //const int j2 = i, &k2 =i;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: