c++有没有办法显示一个变量是不是引用
c语言吧
全部回复
仅看楼主
level 5
怒人水瓶 楼主
这儿就无论左值右值都只打印一个int,有没有办法打印出int&和int&&
2022年11月04日 00点11分 1
level 11
引用不是一种数据类型,即没有int&这种数据类型。
2022年11月04日 00点11分 2
可惜了,我就想看看传不同参数,实例模板的类型参数的变化
2022年11月04日 00点11分
吧务
level 14
type_traits
2022年11月04日 01点11分 3
@怒人水瓶 查一下is_reference,is_lvalue_reference和is_rvalue_reference
2022年11月04日 02点11分
大佬,再请教一下,为什么我传进去的一个右值,但模板根据实参推导出来却是int,测试图在楼下
2022年11月04日 02点11分
@GTA小鸡 cha'dao'l哇塞,这个更好用,直接判断
2022年11月04日 02点11分
level 5
怒人水瓶 楼主
2022年11月04日 02点11分 5
@怒人水瓶 因为发生了引用折叠,编译器推断_Tp的类型是int&&,这导致间接创建了引用的引用int&& &&__t,这种情况下根据引用折叠规则_Tp将被折叠为int,于是__t的类型才是int&& __t。
2022年11月04日 04点11分
@GTA小鸡 学到了,谢谢你,鸡哥
2022年11月04日 09点11分
level 1
type_traits库里面不是有is_reference吗
2022年11月04日 02点11分 6
level 6
decltype(__t)
2022年11月04日 03点11分 7
1