第十八章 18.2.2节练习
来源:互联网 发布:火影忍者安卓数据 编辑:程序博客网 时间:2024/06/06 09:44
练习18.15
说明using指示与using声明的区别。
解答:
using声明语句一次只引入命名空间的一个成员。
using指示语句一次性注入某个空间的所有名字。
练习18.16
假定在下面的代码中标记为“位置1”的地方是对于命名空间Exercise中所有成员的using声明,请解释代码的含义。
如果这些using声明出现在“位置2”又会怎样呢?
将using声明变为using指示,重新回答之前的问题。
namespace Exercise{ int ivar = 0; double dvar = 0; const int limit = 1000;}int ivar = 0;//位置1void manip(){ // 位置2 double dvar = 3.1416; int iobj = limit + 1; ++ivar; ++::ivar;}
解答:
(1)
在位置1处使用using声明,会让Exercise::ivar产生多次声明,也就是和未在任何命名空间内的ivar的声明冲突。
(2)
在位置2处使用using指示,会让函数中的ivar(不是::ivar)产生二义性。
练习18.17
实际编写代码检验你对上一题的回答是否正确。
解答:
#include <iostream>#define position1 1#define position2 0namespace Exercise{int ivar = 0;double dvar = 0;const int limit = 1000;}int ivar = 0;#if position1using Exercise::ivar;using Exercise::dvar;using Exercise::limit;#endifvoid main(){#if position2using namespace Exercise;#endifdouble dvar = 3.1416;int iobj = limit + 1;++ivar;++::ivar;}
0 0
- 第十八章 18.2.2节练习
- 第十八章 18.2.1节练习
- 第十八章 18.2.3节练习
- 第十八章 18.2.4节练习
- 第十八章 18.1.2节练习
- 第十八章 18.3.2节练习
- 第十八章 18.1.1节练习
- 第十八章 18.1.5节练习
- 第十八章 18.3.1节练习
- 第十八章 18.3.3节练习
- 第十八章 18.3.4节练习
- 第十八章 18.3.5节练习
- 第十八章 18.1.3节练习 & 18.1.4节练习
- 第十八章练习一:稀疏数组
- c++primer第五版第十八章练习
- 第十八章,对象及对象指针的练习(C++)
- 第十八章
- 第十八章
- POJ2376 Cleaning Shifts(贪心)
- 数据结构实验之求二叉树后序遍历和层次遍历
- 创建quick项目
- 给一整型变量a,写两段代码,第一个设置a的bit3,第二个清除a的bit3.“a的bit3”
- 小白学c++之单例模式和右值引用
- 第十八章 18.2.2节练习
- 2014年10月10号正式开通CSDN微博,开始原创文章的编写,敬请期待!!
- HDU 2036 改革春风吹满地
- Retrospective--The Way To Make Things Better
- 李氏黄焖鸡米饭加盟
- redis memcached比较
- 父母俱存,兄弟无故,一乐也;仰不愧于天,俯不怍于人,二乐也;得天下英才而教育之,三乐也。
- UvaLive 6667 Longest Chain (分治求三元组LIS&树状数组)
- ubuntu升级到14.04后终端显示重叠