64,637
社区成员
发帖
与我相关
我的任务
分享
class A{
public:
A(int ma):_ma(ma){}
private:
int _ma;
}
//现在想用创建一个10个元素的对象数组,每个元素都用5来初始化。
//A a[10]; //error
//A a[10](5); //error
#include <iostream>
using namespace std;
class A{
public:
A(int ma):_ma(ma){};
void* operator new(size_t size, void* p){return p;}
private:
int _ma;
};
int main(int argc, char *argv[])
{
void *p = operator new[](10*sizeof(A));
A *pa = static_cast<A*>(p);
for(int i=0;i<10;i++) new(pa+i) A(5);
return 0;
}