0

在 C 中,您可以通过 dlopen() 动态链接共享对象,并使用 dlsym() 定位特定符号(函数)的地址并将其分配给函数指针。

在 C++ 中,如果你碰巧知道类构造函数的地址,你能从中创建一个新对象吗?我确实意识到,使用将返回类对象的静态方法是 C++ 中动态链接的惯例。

我很好奇是否可以从构造函数地址创建对象。如果是这样,你能举个例子吗?

提前致谢

4

1 回答 1

1

你不能。问题是不能直接调用构造函数;所有构造函数调用都是由编译器隐式生成的。这也意味着您不能通过函数指针调用它。

我也只是尝试获取构造函数的地址,但这也不起作用(尽管这只是一个快速破解,不能确定它是否真的有效)——因为构造函数没有返回类型,下一个问题将是如何编写该函数指针的类型。

于 2012-09-30T22:21:21.153 回答