zoukankan      html  css  js  c++  java
  • C++ operator new和new operator的区别

    new operator

    当你写这种代码:

    string *ps = new string("Memory Management");

    你使用的new是new  operator

    new操作符做两件事,分配内存+调用构造函数初始化

    operator new

    你所能改变的是怎样为对象分配内存

    new操作符调用一个函数来完成必需的内存分配,你可以重写或重载这个函数来改变它的行为。new操作符为分配内存所调用函数的名字operator new

    operator new所了解的是内存分配,它对构造函数一无所知。

    函数operator new 通常这样声明:

    void * operator new(size_t size);

    返回值类型是void*,由于这个函数返回一个未经处理(raw)的指针未初始化的内存。

    參数size_t确定分配多少内存。

    你能添加额外的參数重载函数operator new,可是第一个參数类型必须是size_t。

  • 相关阅读:
    jquery operate
    ujs
    图标站
    rails foreign key
    feedback product from uservoice
    秒杀网
    short url
    rails nil blank
    paperclip imagemagic api &paperclip relevent
    类似优米网
  • 原文地址:https://www.cnblogs.com/hotsnow/p/9925463.html
Copyright © 2011-2022 走看看