设为首页 加入收藏

TOP

effectiveC++(五)(二)
2010-12-26 23:01:30 】 浏览:2820
Tags:effectiveC
述,参见条款11

这个规则对喜欢用typedef的人来说也很重要,因为写typedef的程序员必须告诉别人,用new创建了一个typedef定义的类型的对象后,该用什么形式的delete来删除。举例如下:

 

typedef string addresslines[4]; //一个人的地址,共4行,每行一个string //因为addresslines是个数组,使用new: string *pal = new addresslines; // 注意"new addresslines"返回string*, 和 // "new string[4]"返回的一样 delete时必须以数组形式与之对应: delete pal;// 错误! delete [] pal;// 正确

为了避免混乱,最好杜绝对数组类型用typedefs。这其实很容易,因为标准c++库(见条款49)包含有stirng和vector模板,使用他们将会使对数组的需求减少到几乎零。举例来说,addresslines可以定义为一个字符串(string)的向量(vector),即addresslines可定义为vector<string>类型。

首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇effectiveC++(六) 下一篇effectiveC++(四)

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目