⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 placenew.cpp

📁 C++ Primer的第三版结合了Stanley Lippman的实践经验和Josée Lajoie对于ANSI/ISO标准C++的深入理解。这本指导书的第三版已经被重新改写过
💻 CPP
字号:
// Section 8.4.5
// $ CC placenew.cpp

/*
  new expression worked!
*/

#include <iostream>
using std::cout;
using std::endl;

#include <new.h>

const int chunk = 16;

class Foo {
public:
        int val()  { return _val; }
        Foo() { _val = 0; }
private:
        int _val;
};

// preallocate the memory, but no Foo objects
char *buf = new char[ sizeof(Foo) * chunk ];

int main() {
        // create a Foo object in buf
        Foo *pb = new (buf) Foo;

        // check that an object was placed in buf
        if ( pb->val() == 0 )
                cout << "new expression worked!" << endl;

        // cannot use pb here
        delete[] buf;

        return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -