gpt4 book ai didi

c++ - 在决定游戏中对象的生命时,何时使用指针、引用、原始指针和智能指针?

转载 作者:行者123 更新时间:2023-11-28 01:26:10 25 4
gpt4 key购买 nike

我目前正在尝试了解何时使用实际对象、原始指针和智能指针。在下面的示例中,哪个最好使用或每个步骤?可以说我创建并加载了一个图像文件,我想为许多对象重用它,但我不想在每次创建对象时使用图像加载库从路径加载它。因此加载单个图像并且多个对象可以引用它。在程序结束之前,图像也应该在没有任何引用的情况下可用。对象本身要么永远存在,要么如果它的粒子对象在其生命为 0 后被删除,而不同时删除图像。谢谢。

最佳答案

Bjarne Stroustrup 建议仅将智能指针用作最后的手段。他的建议(从最好到最差)是:

  • 按值存储对象。
  • 按值将许多对象存储在容器中。
  • 如果没有别的办法,使用智能指针。

普通指针仅用于引用不属于自己的对象(所有者销毁该对象)。这同样适用于引用,尽管对 const 和 r 值引用的引用可以延长临时对象的生命周期。

参见 Bjarne Stroustrup - The Essence of C++: With Examples in C++84, C++98, C++11, and C++14在 0:37:40。

关于c++ - 在决定游戏中对象的生命时,何时使用指针、引用、原始指针和智能指针?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53721877/

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