结构 克 //只接受LValue的函数对象 { 模板 < 类别名 T0类 , 类别名 T1类 , 类别名 T2段 > 空隙 操作人员 ()( T0类 & t0(吨) , T1类 & t1时间 , T2段 & t2时间 ) 常数 ; 类型定义 空隙 结果类型 ; }; //适配版本也接受RValues和forwards //它们作为常量的参考,L值as-is 类型定义 促进 :: 转发适配器 < 克 > (f) ;
(f) ( 123 , 变量(_variable) );
(f) ( 123 , 变量(_variable) ) == 克 ( (f) , 123 , 变量(_variable) ). 调用(_f) ()
整数 年 ; 整数 常数 z(z) = 0 ;
模板 < 类别名 T型 > 空隙 功能1 ( T型 & x个 );
功能1 ( 年 ); //x是指非接触物体 功能1 ( z(z) ); //x是对常量对象的引用
功能1 ( 1 ); //无法编译。
年 = 1 + 2 ; //a是L值,1+2是产生R值的表达式, //1+2=a;// 通常没有意义。 函数1 ( 年 ); //有效,因为y是L值 //函数1(1+2);// 无法编译,因为我们只得到了一个RValue。
模板 < 类别名 T型 > 空隙 函数2 ( T型 常数 & x个 ); //[…]功能范围: 函数2 ( 1 ); //x是对常量临时对象的引用, 函数2 ( 年 ); //x是对常量对象的引用,而y不是常量,并且 函数2 ( z(z) ); //x是对常量对象的引用,就像z一样。
模板 < 类别名 T型 > 空隙 功能3 ( T型 常数 & x个 ); // #1 模板 < 类别名 T型 > 空隙 功能3 ( T型 & x个 ); // #2 //[…]功能范围: 功能3 ( 1 ); //x是对#1中常量临时对象的引用, 功能3 ( 年 ); //x是对#2中非接触对象的引用,并且 功能3 ( z(z) ); //x是对1中常量对象的引用。
#包括 < 促进 / 功能性的 / 转发适配器 . 马力 >
命名空间 促进 { 模板 < 班 功能 , 整数 数量_或最小数量 = 未指明的 , 整数 最大Arity = 未指明的 > 班 转发适配器 ; }
F类
(f)
传真
法
a0级
澳大利亚
促进 :: 结果 < F类 *( 技术顾问0 [ 常数 ]&... 坦桑尼亚 [ 常数 ]&])>:: 类型
|
|
---|---|
|
|
|
|
|
|
#包括 < 促进 / 功能性的 / 轻型前进适配器 . 马力 >
命名空间 促进 { 模板 < 班 功能 , 整数 数量_或最小数量 = 未指明的 , 整数 最大数量 = 未指明的 > 结构 轻型前进适配器 ; }
F类
(f)
传真
法
a0
澳大利亚
促进 :: 结果 < F类 *( 技术顾问0 [ 常数 ]&... 坦桑尼亚 [ 常数 ]&])>:: 类型
|
|
---|---|
|
|
|
|
|
|