5

如果我想参数化创建一个对象,我当然可以创建一个函数,在特定类上调用 new 并传递一个指针。我想知道是否可以跳过该步骤并将函数指针传递给new运算符本身。

4

2 回答 2

9

boost::lambda 为 和 提供函数包装器。newdelete这些可用于轻松地将new调用转换为函数对象。

于 2011-07-07T01:42:25.657 回答
2

operator new(以及其他风格)负责分配内存但不构造对象。实际上它的返回类型是void*. 构造对象的是一个新的表达式,它是语言的一部分,而不是函数。所以不可能形成一个指针或对它的引用;它与形成对 的引用一样毫无意义return

于 2011-07-07T01:41:14.300 回答