[C++]引用和三目运算符
来源:互联网 发布:informix数据库端口 编辑:程序博客网 时间:2024/06/05 06:59
#include <iostream>
using namespace std;
/*
引用 Type& name < -- > Type* const name
C++编译器在编译过程中使用常指针作为引用的内部实现,因此引用所占用的空间大小与指针相同。
当实参传给形参引用的时候,只不过是c++编译器帮我们程序员手工取了一个实参地址,
传给了形参引用(常量指针)
当函数返回值为引用时
若返回栈变量
不能成为其它引用的初始值
不能作为左值使用
若返回静态变量或全局变量
可以成为其他引用的初始值
即可作为右值使用,也可作为左值使用
*/
struct Teacher{
int age;
};
int& getA()
{
int a;
a = 10;
return a;
}
//指针引用
int getB(Teacher* &myp)
{
myp = (Teacher *)malloc(sizeof(Teacher));
myp->age = 34;
return 0;
}
//三目运算符
/*
1)C语言返回变量的值 C++语言是返回变量本事
2)C语言中的三目运算符返回的是变量值,不能作为左值使用
C++中的三目运算符可直接返回变量本身,因此可以出现在程序的任何地方
3)三目运算符可能返回的值中如果有一个是常量值,则不能作为左值使用
(a < b ? 1 : b )= 30;
*/
void getC()
{
int a = 10, b = 20;
(a > b ? a:b) = 30;
printf("三目运算符:a: %d b:%d\n", a, b);
}
int main()
{
int a = getA();
int &b = getA();//乱码
printf("引用&:%d\t", a);
printf("%d\n", b);
//
Teacher *t1;
getB(t1);
printf("指针引用:%d\n", t1->age);
getC();
getchar();
return 0;
}
0 0
- [C++]引用和三目运算符
- C语言和C++的几点不同之处,const,register,三目运算符,&引用
- C++: 引用和地址运算符
- C语言拾趣---关于if和三目运算符
- c/c++和python的三目运算符
- C语言表达式和运算符(三)
- 【C/C++学院】(4)c++开篇/类和对象/命名空间/类型增强/三目运算符/const专题/引用专题/函数增强
- c语言基本运算中的自增运算符和自减运算符以及三目运算符
- C语言的三目运算符
- C语言中的三目运算符
- C语言(13)-----三目运算符
- Java三目运算符和逗号运算符
- Java关系运算符和三目运算符
- Java三目运算符和逗号运算符
- 细究三目运算符在python、C#、C异同
- [C++]指针和引用(三)
- 三目运算符和逗号表达式
- 三目运算符在C语音和C++语言中的区别
- 第一条博客
- [C++]语法增强
- [c++]const
- 第五周 项目1--建立顺序栈算法库
- git代码管理简单总结之分支操作
- [C++]引用和三目运算符
- [C++]内联函数
- 项目 3 - 括号的匹配
- [C++]函数重载
- 【C++】类
- 如何快速的开发一个完整的iOS直播app(美颜篇)
- 【C++】构造函数和析构函数
- [c++]深拷贝和浅拷贝
- [C++]多个对象构造、析构、构造和析构的顺序