【发布时间】:2011-05-31 09:03:52
【问题描述】:
我需要编写一个类,它的构造函数接受一个对象的常量引用并将其存储在本地。
为了避免我可以预见的最常见错误,我想只接受对非临时性的引用(即:对左值的引用)。
我怎样才能编写一个只对非临时对象进行常量引用的函数?
当然,即使是非临时引用也可能超出范围,从而破坏我的类行为,但我相信通过禁止临时引用可以避免大多数错误。
【问题讨论】:
-
你认为你为什么会避免大多数这样的错误?
-
好吧,我需要传递其引用的对象在实例化后不需要使用(即:我只是实例化对象并传递它,因此由于我的代码风格,我不会在堆栈上实例化它)。如果我忘记了其他类的构造函数需要一个 permanent 值,我希望看到会记住我的临时拒绝(即:编译时间错误)。
标签: c++ reference constants temporary