C++ 是否可以创建指向a函数的函数指针';s`new`运算符/构造函数?

C++ 是否可以创建指向a函数的函数指针';s`new`运算符/构造函数?,c++,new-operator,function-pointers,boost-bind,C++,New Operator,Function Pointers,Boost Bind,如果我想参数化创建一个对象,我当然可以创建一个函数,在特定的类上调用new并传递一个指针。我想知道是否可以跳过该步骤并将函数指针传递给新的操作符本身。操作符新的(以及其他风格)负责分配内存,但不构造对象。实际上,它的返回类型是void*。构造对象的是一个新表达式,它是语言的一部分,而不是函数。所以不可能形成指向它的指针或引用;它与对returnboost::lambda的引用一样毫无意义。lambda提供了这些可以用来轻松地将new调用转换为函数对象的方法。将指针传递给新操作符本身,什么?!?N

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

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

boost::lambda的引用一样毫无意义。lambda提供了这些可以用来轻松地将
new
调用转换为函数对象的方法。

将指针传递给新操作符本身
,什么?!?New是一个运算符,其行为类似于一个函数,该函数将指针返回到正在创建的对象。从概念上(如果不是实际的话)应该可以创建指向它的函数指针,并将其作为参数传递给函数,例如。仅仅是我,还是随着时间的推移,问题变得越来越复杂?额外问题:当你
删除np时会发生什么?@Kerrek,很有趣。我想我应该说一个函数的新操作符。也许不可能,但肯定没有构成对
return
的引用那样毫无意义。通常,您会使用自定义新指针进行分配,然后将结果传递到新表达式中。。。这并非完全闻所未闻。@Catskul您不能将对函数的引用形式化为对非函数的引用。这就是没有意义的地方。@Kerrek注意到它仍然是构造对象的新表达式。你不能形成对它的引用,因为它不是一个函数。@Luc:是的,当然,你不能引用构造对象的过程。我真的不确定OP想要实现什么。