gpt4 book ai didi

c++ - c++-const成员func,只能使用ref限定符在左值实例上调用

转载 作者:行者123 更新时间:2023-12-02 09:53:13 25 4
gpt4 key购买 nike

我正在尝试通过ref限定符强制仅通过类的的左值实例来调用类的const'getter'方法,并且由于某种原因而得到了意外的结果(我正在使用clang 6.0进行编译。 1,在Windows上通过c++ 1z标志支持C++ 17:
声明bool getVal() const &;允许在右值引用上将方法称为
声明bool getVal() &; 据我所知,不允许在右值引用BUT上调用该方法-该函数不再是const方法,而不再是const方法,对于“getter”方法而言,这在设计上是有问题的。
获得方法的两个特征的正确方法是什么?

最佳答案

使用bool getVal() const &;,但为rvalues添加一个删除的重载:

bool getVal() const && = delete;

关于c++ - c++-const成员func,只能使用ref限定符在左值实例上调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62609367/

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