gpt4 book ai didi

c++ - 复制 C 对象

转载 作者:太空宇宙 更新时间:2023-11-04 01:57:08 25 4
gpt4 key购买 nike

我是 C 的新手,想问一个关于复制行为的问题。我正在阅读 Scott Meyers 的 C++,他在书中说 C++ 可以被视为语言的组合,我们应该区分所谓的 C 部分 来自 C++ 部分。现在,如果我们必须使用一些包含以下内容的原生 C API:

FontHandle getFont(); //From, C API

void releaseFont(FontHandle fh); //From the same C API

据我所知,C 语言不允许通过复制构造函数定义自定义复制行为。那么,如果我编写以下内容,我应该期望发生什么:

FontHandle f1 = getFont();
FontHandle f2 = f1; //What's going to happen here? Deep or shallow copy?

最佳答案

C 将始终进行“浅”复制。如果变量是指针,则值将被复制。如果变量是结构体,则结构体的内容将被复制(如果内容恰好包含指针,它们的值将像其他所有内容一样被简单地复制)。

关于c++ - 复制 C 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32835493/

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