我敢打赌这个问题可能已经被问过了,但是由于搜索者将引用(例如int& name
)视为引用计数,所以无法找到任何东西。
为什么从来没有提到将引用作为智能指针的替代方案?仅仅是为了处理null的情况,还是有其他原因?使用它们各有什么优缺点?
我敢打赌这个问题可能已经被问过了,但是由于搜索者将引用(例如int& name
)视为引用计数,所以无法找到任何东西。
为什么从来没有提到将引用作为智能指针的替代方案?仅仅是为了处理null的情况,还是有其他原因?使用它们各有什么优缺点?
我认为您混淆了术语。引用和引用计数这个术语并不是在谈论同一件事情。
引用、智能指针甚至指针本身都非常不同,不能互换使用。
引用不能重新定位。也就是说,一旦您有了一个引用,它只能引用最初所引用的内容。引用仅仅是一个内存地址。
而指针则指向内存地址;指针可以被更改以指向不同的内存地址。
当有人说智能指针执行引用计数时,他们指的是智能指针正在计算引用内存地址的对象数量。这与引用是不同的。
希望这可以帮助您。