《C++ Primer》第五版课后习题解答_第二章(4)(30-38)
来源:互联网 发布:linux help和man 编辑:程序博客网 时间:2024/06/01 07:32
系统环境: windows 10 1703
编译环境:Visual studio 2017
2.30
const int v2 = 0, v2 是顶层 const;
int v1 = v2, v1 是非常量,v2 是顶层 const;
int *p1 = &v1, &r1 = v1, p1 是非常量指针,r1 是非常量引用;
const int *p2 = &v2, *const p3 = &i, &r2 = v2, *p2 是底层 const,p3 既是顶层 const 也是底层 const,r2 是底层 const。
2.31
r1 = v2, 合法,拷贝 v2 的值给和 r1 绑定的 v1,v2 是顶层 const,对此操作无影响;
p1 = p2, 非法,p2 是底层 const,p1 不是;
p2 = p1, 合法,把 p1 指向的对象赋给 p2;
p1 = p3, 非法,p3 包含底层 const 的定义,而 p1 没有;
p2 = p3, 合法,将 p3 指向的对象赋给 p2。
2.32
非法。有很多修改方法,下面列出其中两种
#include <iostream>int main(){ int null = 0, *p = &null; std::cout << null << " " << p << " " << *p << std::endl; return 0;}输出为 0 0000007D066FFAF0 0
#include <iostream>int main(){ int null = 0, *p = nullptr; std::cout << null << " " << p << " " << *p << std::endl; return 0;}输出为 0 0000000000000000
2.33
a = 42, 将 42 赋给 a;
b = 42, 将 42 赋给 b;
c = 42, 将 42 赋给 c;
d = 42, 非法,不能将字面量赋给指针 d;
e = 42, 非法,不能将字面量赋给指针 e;
g = 42, 非法,不能改变常量 ci 的值 (g 为绑定到 ci 的常量引用)
2.34
正确
2.35
j int;k const int(整形常量引用);p 指向整型常量的指针;j2 整型常量;k2 整型常量引用
2.36
a int 4
b int 4
c int 3
d int& 绑定到a
2.37
a int 3
b int 4
c int 3
d int& 绑定到 a
2.38
decltype 处理顶层 const 和引用的方式与 auto 有些许不同。如果 decltype 使用的表达式是一个变量,则 decltype 返回该变量的类型(包括顶层 const 和引用在内)
int i = 0, &r = i;
//相同
auto c1 = i; c1 是 int
decltype(i) c2; c2 是 int
//不同
auto c3 = r; // c3 是 int
decltype(r) c4 = r // c4 是 int& 绑定到 r
- 《C++ Primer》第五版课后习题解答_第二章(4)(30-38)
- 《C++ Primer》第五版课后习题解答_第二章(1)(01-08)
- 《C++ Primer》第五版课后习题解答_第二章(2)(09-20)
- 《C++ Primer》第五版课后习题解答_第二章(3)(21-29)
- 《C++ Primer》第五版课后习题解答_第二章(5)(39-42)
- 《C++ Primer》第五版课后习题解答_第三章(4)(30-36)
- 《C++ Primer》第五版课后习题解答_第五章(4)(20-25)
- 《C++ Primer》第五版课后习题解答_第四章(3)(34-38)
- 《C++ Primer》第五版课后习题解答_第六章(4)(27-35)
- 《C++ Primer》第五版课后习题解答_第五章(1)(01-08)
- 《C++ Primer》第五版课后习题解答_第五章(2)(09-14)
- 《C++ Primer》第五版课后习题解答_第五章(3)(15-19)
- 《C++ Primer》第五版课后习题解答_第三章(1)(01-05)
- 《C++ Primer》第五版课后习题解答_第三章(2)(06-20)
- 《C++ Primer》第五版课后习题解答_第三章(3)(21-29)
- 《C++ Primer》第五版课后习题解答_第三章(5)(37-45)
- 《C++ Primer》第五版课后习题解答_第四章(1)(01-20)
- 《C++ Primer》第五版课后习题解答_第四章(2)(21-33)
- Java NIO和IO的主要区别
- [WebGL入门]三十,混合系数
- 自学Unity笔记 坦克大战项目
- Rxjava,retrofit,Rxjava结合使用与代码封装
- 解决nginx 504 Gateway Time-out的一些方法
- 《C++ Primer》第五版课后习题解答_第二章(4)(30-38)
- XSS与CSRF的有关总结
- ssh vim中按了ctrl+s
- js数组内数字按大小排序实现函数
- hdu 5887 大01背包问题
- Android图片缓存策略
- IP问问:特殊类型IP地址介绍——VPN
- 中断的上下文切换和任务调度的上下文切换
- HDU