Nicolai Josuttis 在他的《C++ 标准库 - 教程和参考》一书中,在第 44 页写了以下段落:
根据 auto_ptrs 的概念,可以通过使用常量引用将所有权转移到函数中。这是非常危险的,因为人们通常期望当您将对象作为常量引用传递时,它不会被修改。幸运的是,有一个较晚的设计决定使 auto_ptrs 的危险性降低。通过一些棘手的实现技术,使用常量引用是不可能转移所有权的。事实上,你不能改变任何常量 auto_ptr 的所有权:……
如果不可能通过常量引用来更改所有权,为什么上面的“这很危险”和“不太危险”这样的表达方式?