标签:style http color 使用 sp for strong on amp
  C++中如何显式调用构造函数
  #include
  class A {
  public:
  A();
  A(int);
  …
  };
  A * pA = (A *) malloc( sizeof(A) );
  new (pA) A; // 调用A()
  A * pAA = (A *) malloc( sizeof(A) * 10 );
  for (int i = 0; i < 10; ++i)
  new (pAA + i) A(i); // 调用A(int)
  以上用法也称为放置构造,它是与第三方内存管理的标准接口,必须 include 后才能使用,因为它通过重载(全局的) operator new 来实现。
  另外我们也可以通过重载 operator new 来实现定制的放置构造,例如托福答案 www.jszdsy.com 
  // 实现一个 pool
  class my_pool {
  …
  };
  …
  class A {
  …
  public:
  // 重载 operator new 来实现从 pool 中分配对象,不重载全局 operator new 可以保证只有该类可以使用定制的放置构造方法
  static void * operator new (size_t size, my_pool & pool) {
  …
  }
  …
  };
  …
  // 定制的放置构造用法
  my_pool myPool;
  A * pA = new (myPool) A;
标签:style http color 使用 sp for strong on amp
原文地址:http://www.cnblogs.com/haosola/p/4101431.html