• 成对使用new和delete,传值传引用


    首先:

    delete []p;是用来删除对象数组的,特别是你声明的是对象数组!!!

    如果new中用了【】,delete一定要用【】;在new中没有使用,在delete中一定不要使用。

    其次:

    当你使用new的时候,首先内存被分配 ,然后针对此块内存,会有相应的构造函数被调用。

    delete使用的时候,首先针对此块内存会有析构函数被调用,然后释放内存。

    二:

    一般以传引用代替传值。

    对于内置类型,我们一般以传值代替传引用,因为传值会速度快些,传引用本质在c++底层是传递的指针。(内置类型譬如int,stl)。还有一个原因是内置类型一般特别小。

    以传引用代替传值主要是传引用不会产生切割问题。效率高。解释:

    当一个派生类对象以传值的方式传递并被视为基类的时候,基类的构造函数会被调用,然而本身对象是派生类的那些部分并没有被初始化,也即被切割了。

  • 相关阅读:
    Light oj 1197
    UVA 11426 GCD
    Light oj 1236
    Light oj 1138
    Light oj 1214-Large Division (同余定理)
    Light oj 1234
    HDU
    ZOJ 3469 Food Delivery(* 区间DP 总结)
    二分查找整理
    zoj 3965 Binary Tree Restoring(* dfs)
  • 原文地址:https://www.cnblogs.com/8335IT/p/6738127.html
Copyright © 2020-2023  润新知