我正在创建一个TextField类,此刻该类存储对变量的引用,并且只要程序员需要,他们就可以调用TextField.show(),并且将在屏幕上读取并显示引用的变量。
但是,如果引用无效,则会导致问题。例如,如果引用的变量超出范围,则我有问题。
基本上,有什么方法可以确保用户提供的参考不会变得无效吗?或者,是否有更好的方法来设置此系统?或者,如果没有,在这种情况下处理无效引用的最佳方法是什么?
最佳答案
如果使用引用,则调用者有责任确保自己的代码未定义。基本上,没有办法知道。您可以使用shared_ptr
确保不会发生此问题,并允许共享所有权。这意味着,如果变量(shared_ptr
)超出范围,则该值将不会被破坏,除非没有其他人指向其自身的值。