C++中引用类型做做右值
2017-09-26 20:35
197 查看
#include<iostream>
int & test(){
int a = 1;
return a;
}
int *& testp(){
int *a = new int;//先为分配一个空间
*a = 10;
return a;
}
void main(){
int a = 1;
int *c = &a;
int* & ee=c;//给这个指针取一个别名,
int * &&b = &a;
std::cout << &b <<*&a<< std::endl;//这是对这个地址取一个别名
int &ddd = test();//这里的ddd也只能保存一次,函数执行完了之后栈内存会回收。
std::cout << "我是分界线" << std::endl;
std::cout << ddd << std::endl;
int *&de = testp();//引用类型的指针
std::cout << "我是分界线二号" << std::endl;//执行完之后就回收
std::cout << *de << std::endl;
system("pause");
}
int & test(){
int a = 1;
return a;
}
int *& testp(){
int *a = new int;//先为分配一个空间
*a = 10;
return a;
}
void main(){
int a = 1;
int *c = &a;
int* & ee=c;//给这个指针取一个别名,
int * &&b = &a;
std::cout << &b <<*&a<< std::endl;//这是对这个地址取一个别名
int &ddd = test();//这里的ddd也只能保存一次,函数执行完了之后栈内存会回收。
std::cout << "我是分界线" << std::endl;
std::cout << ddd << std::endl;
int *&de = testp();//引用类型的指针
std::cout << "我是分界线二号" << std::endl;//执行完之后就回收
std::cout << *de << std::endl;
system("pause");
}
相关文章推荐
- C++ 学习笔记(2)变量和基本类型(复合类型:引用、指针)、const、constexpr、typedef(using)、auto、decltype
- C++ - 函数模板(function template)右值引用参数 问题 及 解决
- C++:复合类型————引用(左值引用)
- C++ 引用 左值引用 右值引用
- c++ 引用类型
- c++中拷贝构造函数的参数类型必须是引用
- 最近新出的C++右值引用的意思
- C++拷贝构造函数的参数为什么必须使用引用类型(无限递归)
- C++ 引用类型const形参的用法
- C++ 11之 && 右值引用
- 详解C++右值引用
- c++引用类型小问题
- 【转载】深入理解c++的右值引用
- C++ 构造函数、赋值函数、析构函数、右值引用
- 新手入门:C++下的引用类型
- C++左值引用和右值引用
- 从零开始学C++之从C到C++(二):引用、内联函数inline、四种类型转换运算符
- C++基础---有返回值类型函数(返回非引用类型)
- C++ 0x 之左值与右值、右值引用、移动语义、传导模板
- C++新特性 右值引用 移动构造函数