当前位置:七道奇文章资讯编程技术VC/C++编程
日期:2011-03-22 13:55:00  来源:本站整理

高质量C++/C编程指南-第7章-内存管理(7)[VC/C++编程]

赞助商链接



  本文“高质量C++/C编程指南-第7章-内存管理(7)[VC/C++编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

7.11 new/delete 的利用要点
运算符new利用起来要比函数malloc简单得多,比方:

int *p1 = (int *)malloc(sizeof(int) * length);

int *p2 = new int[length];

这是因为new内置了sizeof、范例转换和范例安全查抄功效.关于非内部数据范例的对象而言,new在成立动态对象的同时完成了初始化工作.假如对象有多个构造函数,那么new的语句也可以有多种情势.比方

class Obj

{

public :

Obj(void); // 无参数的构造函数

Obj(int x); // 带一个参数的构造函数

}

void Test(void)

{

Obj *a = new Obj;

Obj *b = new Obj(1); // 初值为1

delete a;

delete b;

}

假如用new成立对象数组,那么只能利用对象的无参数构造函数.比方

Obj *objects = new Obj[100]; // 成立100个动态对象

不能写成

Obj *objects = new Obj[100](1);// 成立100个动态对象的同时赋初值1

在用delete释放对象数组时,留神不要丢了标记‘[]’.比方

delete []objects; // 精确的用法

delete objects; // 错误的用法

后者相当于delete objects[0],漏掉了别的99个对象.

7.12 一些心得领会
我熟习不少技术不错的C++/C程序员,很少有人能拍拍胸脯说通晓指针与内存管理(包含我自己).我最初学习C语言时分外怕指针,招致我开辟第一个利用软件(约1万行C代码)时没有利用一个指针,全用数组来顶替指针,实在蠢笨得过度.躲避指针不是办法,后来我改写了这个软件,代码量缩小到原先的一半.

我的经验教导是:

(1)越是怕指针,就越要利用指针.不会精确利用指针,必定算不上是合格的程序员.

(2)必须养成“利用调试器渐渐跟踪程序”的习惯,只有这样才能发现问题的本质.


  以上是“高质量C++/C编程指南-第7章-内存管理(7)[VC/C++编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
  • <b>高质量C++/C编程指南-第7章-内存管理(6)</b>
  • 高质量C++/C编程指南-第7章-内存管理(7)
  • 高质量C++/C编程指南-第8章-C++函数的高级特点(1)
  • 高质量C++/C编程指南-第8章-C++函数的高级特点(2)
  • 高质量C++/C编程指南-第8章-C++函数的高级特点(3)
  • <b>高质量C++/C编程指南-第8章-C++函数的高级特点(4)</b>
  • <b>高质量C++/C编程指南-第9章-类的构造函数、析构函数与赋值函数(1</b>
  • 高质量C++/C编程指南-第9章-类的构造函数、析构函数与赋值函数(2
  • 高质量C++/C编程指南-第9章-类的构造函数、析构函数与赋值函数(3
  • 高质量C++/C编程指南-第9章-类的构造函数、析构函数与赋值函数(4
  • <b>高质量C++/C编程指南-第10章-类的担当与组合(1)</b>
  • 高质量C++/C编程指南-第10章-类的担当与组合(2)
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .