2009.9.17-名字空间
来源:互联网 发布:黄维德的周瑜 知乎 编辑:程序博客网 时间:2024/05/01 19:43
global scope的最大问题是唯一的,在大型的软件项目中,如果在这个SCOPE中放置各种符号名称,往往导致名字冲突的产生
不举例了。名字空间
namespace qiuyoujie{
const double BOOK_VERSION = 2.0;
class Handle{...};
}
使用方法1,在某scope内将namespace汇入,void f(){using namespace qiuyoujie;...}
2,个别符号汇入,void f(){using qiuyoujie::BOOK_VERSION;...}
3,使用时,明确加以限定修饰 void f(){cout<<qiuyoujie::BOOK_VERSION;...}
使用typedef或reference 可以使客户使用未加修饰的性别名称和对象名称。
const double& BOOK_VERSION = qiuyoujie::BOOK_VERSION;
typedef qiuyoujie::BOOK_VERSION BOOK_VERSION;
remember: static data member should be initialized outside the interface.
item 29;避免传回内部数据的handles
class String{ public:
String(const char* value);
operator char*()const;
private:char *data;};
const String B("Hello,World"); //B is a const object;
// 快速但有缺陷的实现
inline String::operator char *()constd
{return data;} //返回了底层数据源本而非副本
//比较慢但安全的实现
inline String ::operator char*()const
{char *copy = new char[strlen(data)+1];
strcpy(copy,data);
return copy; //返回了一个副本,源本安全了不会被修改,但是必须记住要删除这个获得的指针。
}
- 2009.9.17-名字空间
- 名字空间
- 名字空间
- 名字空间
- 名字空间
- 名字空间
- 名字空间
- 名字空间
- 名字空间
- 名字空间
- 名字空间
- 名字空间
- 名字查找 与名字空间
- Xml 中的名字空间
- C#名字空间
- 关于名字空间namespace
- namespace名字空间小解
- 名字空间与接口
- 只需要五分钟,让你明白中国的内需是怎么回事
- 2009下半年软件设计师考试大纲
- JFreeChart教程
- SAP系统配置参数详解
- IT碰碰车第四期:中国式创业因李开复而不同?
- 2009.9.17-名字空间
- 问题解答:Eclipse中怎样判断Editor中光标的位置,并找到光标周围代码,这样的事件在哪里写?
- SharePoint工作流解决方案QuickFlow系列(6)—事件总线(EventBus)
- 影响网站排名的因素
- 关于云计算的一点浅见
- BlackBreey程序的调试技巧
- 三本书-关于现实事件抽象为模型
- Linux 中的计时——gettimeofday函数
- java析构函数替代者finalize()解说