关闭

引用折叠

标签: 折叠引用
148人阅读 评论(0) 收藏 举报

一 引用折叠规则

    1、T& + & = T&

    2、T& + && = T&

    3、T&& + & = T&

    4、T或T&& + && = T&&

二 例子如下

#include "stdafx.h"
#include <iostream>
#include <typeinfo.h>
using namespace std;

typedef int &  lRef;
typedef int && rRef;

typedef const int &  lcRef;
typedef const int && rcRef;

void main()
{
	int a = 10;
	
	// 左值引用
	lRef  b  = a;  // b : int & 
	lRef  &c = a;  // c : int &, & and & = &

	// 右值引用
	rRef d = 10;   // d : int&&     
	rRef&& e = 10; // e : int&&, && and && = &&
	lRef&& f = a;  // f : int&,  &  and && = &
	rRef& g = a;   // g : int&,  && and  & = &

	//int a = 10;

	//// 左值引用
	//lcRef  b = a;   // b : const int & 
	//lcRef  &c = a;  // c : const int &, const & and & = const &

	//// 右值引用
	//rcRef d = 10;   // d : const int&&     
	//rcRef&& e = 10; // e : const int&&, const && and && = &&
	//lcRef&& f = a;  // f : const int&,  const &  and && = &
	//rcRef& g = a;   // g : const int&,  const && and  & = &
}

三 模板函数参数

#include "stdafx.h"
#include <iostream>
#include <typeinfo.h>
using namespace std;

template<typename T>
void FunTemple(T && param)
{

}

void main()
{
	// inParam : int         T : int&        param : int&
	// inParam : int&        T : int&        param : int& 
	// inParam : int&&(无名) T : int         param : int&&
	// inParam : int&&(有名) T : int&        param : int&
	// inParam : const int   T : const int&  param : const int&
	// inParam : const int&  T : const int&  param : const int&
	// inParam : const int&& T : const int&  param : const int&
	
	int inParam = 10;
	FunTemple(inParam);
}




0
0

猜你在找
【直播】机器学习&数据挖掘7周实训--韦玮
【套餐】系统集成项目管理工程师顺利通关--徐朋
【直播】3小时掌握Docker最佳实战-徐西宁
【套餐】机器学习系列套餐(算法+实战)--唐宇迪
【直播】计算机视觉原理及实战--屈教授
【套餐】微信订阅号+服务号Java版 v2.0--翟东平
【直播】机器学习之矩阵--黄博士
【套餐】微信订阅号+服务号Java版 v2.0--翟东平
【直播】机器学习之凸优化--马博士
【套餐】Javascript 设计模式实战--曾亮
查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:5162次
    • 积分:168
    • 等级:
    • 排名:千里之外
    • 原创:12篇
    • 转载:0篇
    • 译文:0篇
    • 评论:1条
    文章分类