当前位置:  开发笔记 > 编程语言 > 正文

std :: clamp - 检测函数返回值是否绑定到const T&

如何解决《std::clamp-检测函数返回值是否绑定到constT&》经验,为你挑选了0个好方法。

std::clamp如果其中一个minmax参数是rvalues ,最好不要将返回值绑定到const ref .

典型的实现std::clamp(非常简化):

template 
constexpr const T& clamp(const T& value, const T& min, const T& max)
{
    return value < min ? min : max < value ? max : value;
}

正如已经在std :: clamp的cppreference中所述,当有人写道时会出现危险的情况:

int n = -1;
const int& r = std::clamp(n, 0, 255);
// r is dangling

有没有办法编译时检测这些情况?

推荐阅读
手机用户2502851955
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有