boost enable_shared_from_this特性是否给二进制文件增加了太多的大小?

Does the boost enable_shared_from_this feature add too much size to the binary?

本文关键字:太多 增加 二进制文件 是否 from shared enable this boost      更新时间:2023-10-16

我不知道这个问题是否适合SO,但是我们继续:

当启用shared_from_this时,它会给可执行文件增加太多的大小吗?解析shared_from_this()调用是否也需要花费太多时间?

查看文档,enable_shared_from_this是一个助手,它只添加了两个函数,所以我认为它不应该占用太多额外的大小。

EDIT这个问题更合适的标题应该是,它增加了多少尺寸?而不是问它是否添加了太多的尺寸

当启用shared_from_this时,它会给可执行文件增加太多的大小吗?

运行时,它将为每个实例化对象添加weak_ptr的大小,在当前版本的boost中,它是 2个指针的大小。

对于可执行二进制文件本身,很难预测更改源代码将如何影响该文件的大小。

是否也需要太多的时间来解决shared_from_this()调用?

您应该期望从weak_ptr构造shared_ptr所需的时间。

您可以查看boost源文件。它只添加mutable weak_ptr<T> weak_this_;到你的类,它本身只包含指向实例的指针和指向refcounter的指针。