大佬教程收集整理的这篇文章主要介绍了c – 使内联函数影响与其参数绑定的临时值的生命周期吗?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
const X& f(const X& X) { return x; }
当临时绑定到x时,这可能是狡猾的,因为临时的生命周期将在f的返回值绑定到调用者中的引用之前结束.换句话说,这会有问题:
const X& r = f(X());
在运行规则时,我在标准库中找到min的实现,如下所示:
template<typename _Tp> inline const _Tp& min(const _Tp& __a,const _Tp& __b) { // concept requirements __glibcxx_function_requires(_LessThanComparableConcept<_Tp>) //return __b < __a ? __b : __a; if (__b < __a) return __b; return __a; }
这显然将其const引用参数作为引用返回,但函数是内联的.这在临时寿命方面是否有所不同,或者这真的有点狡猾?该函数标有以下注释,因此它显然可以在临时值上调用:
* This is the simple classic generic implementation. It will work on * temporary expressions,since they are only evaluated once,unlike a * preprocessor macro.
以上是大佬教程为你收集整理的c – 使内联函数影响与其参数绑定的临时值的生命周期吗?全部内容,希望文章能够帮你解决c – 使内联函数影响与其参数绑定的临时值的生命周期吗?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。