12-4-19关于c++动态的概念 | 返回引用的情况
2012-04-19 10:02
211 查看
1多态性,
在c++中指具有不同功能的函数可以用同一个函数名,即可以用同一个函数名调用不同内容的函数。向不同的对象发送用一个消息,不同的对象在接收同样的消息,会产生不同的行为(方法)。
从系统实现角度来看。多态性分为两类:静态多态性和动态多态性。
静态多态性:在程序编译时系统就能决定调用哪个函数,因此静态函数有称编译时的多态性(实质上是通过函数的重载实现)。例如:函数的重载和运算符重载实现.
动态多态性:运行过程中才动态地确定操作指针所指的对象。主要通过虚函数和重写来实现。
2在C++中经常会看到到底是返回引用还是普通类型,下面是我转载的一篇文章写的蛮好。
结论:“&”对函数返回值的类型有着本质上的影响,如果加“&”返回该类型的指针类型,
如果不加则返回该类型的基本类型(即使在函数实体内的操作是完全一样的情况下),
同时要注意返回值的作用范围,即如果引用一个在作用域在该函数内的变量就会引发错误,
因为在该函数结束时,被引用变量的生命周期也会结束,所以将返回一个不存在的值。
当函数要返回一个作用域在该函数范围的变量时不能使用“&”!
在c++中指具有不同功能的函数可以用同一个函数名,即可以用同一个函数名调用不同内容的函数。向不同的对象发送用一个消息,不同的对象在接收同样的消息,会产生不同的行为(方法)。
从系统实现角度来看。多态性分为两类:静态多态性和动态多态性。
静态多态性:在程序编译时系统就能决定调用哪个函数,因此静态函数有称编译时的多态性(实质上是通过函数的重载实现)。例如:函数的重载和运算符重载实现.
动态多态性:运行过程中才动态地确定操作指针所指的对象。主要通过虚函数和重写来实现。
2在C++中经常会看到到底是返回引用还是普通类型,下面是我转载的一篇文章写的蛮好。
结论:“&”对函数返回值的类型有着本质上的影响,如果加“&”返回该类型的指针类型,
如果不加则返回该类型的基本类型(即使在函数实体内的操作是完全一样的情况下),
同时要注意返回值的作用范围,即如果引用一个在作用域在该函数内的变量就会引发错误,
因为在该函数结束时,被引用变量的生命周期也会结束,所以将返回一个不存在的值。
当函数要返回一个作用域在该函数范围的变量时不能使用“&”!
相关文章推荐
- 关于C++中函数返回引用的讨论
- C++函数返回值的特殊情况(返回引用、非引用、引用左值)
- 关于C++中函数返回引用的讨论
- C++之返回值为reference引用的情况---补充(6)《Effective C++》
- 关于C++中函数返回引用的讨论
- 简单说说c++ 中操作符重载,什么情况返回引用等
- 关于C++中函数返回引用的讨论
- 关于C++中函数返回引用的讨论
- 关于C++基类、派生类的引用和指针(动态绑定和静态绑定)
- 关于C++中函数返回引用的讨论
- 关于C++函数思考2(C++函数返回引用和返回非引用的区别)
- 关于C++返回引用的问题
- 关于C++中函数返回引用的讨论
- C++函数返回引用的情况说明
- C++函数的返回值——返回引用类型&非引用类型
- C++基本概念复习之一:枚举、引用、指针、类、多态
- 12-4-24关于c++的几个类型强转运算符
- 为什么C++中千万不要返回局部对象或变量的引用和指针
- c++函数返回值的引用
- 12/19 编程总结:向网页机器人通话并返回它说的话