gpt4 book ai didi

c++ - 指针函数的深拷贝

转载 作者:行者123 更新时间:2023-11-28 00:06:28 27 4
gpt4 key购买 nike

我有一个类 (myClass),它有一个像这样的私有(private)成员函数指针:

void (gi::myClass::*ptrFunction) (int  , int  , vector<int> & , vector<int> & , vector<int> &);

当您在运行时(使用 new)创建 myClass 的对象(*myClass ptrObject)时,此指针在构造函数中使用函数地址初始化。在使用上面创建的相同对象后,我调用了另一个函数。在此函数中,我必须创建调用对象的深层拷贝:

gi::myClass *ptrObject2 = new myClass(....);

上面我调用了一个构造函数来执行复制,但它没有初始化 *ptrObject2 的成员 *ptrFunction我的问题是:如何将指针函数从 *ptrObject 深拷贝到 ptrObject2?(我的编译器是C++11)

最佳答案

没有函数指针的深拷贝。您没有复制任何数据,只是对 v 表的引用。因此:

ptrObject2->ptrFunction = ptrObject->ptrFunction

很好。

关于c++ - 指针函数的深拷贝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35445877/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com