PoEdu学习笔记
一、引用
int &revel=vel;
1、定义:相当于变量的别名
2、性质:与相应变量共用同一个空间
是强关联的,不能修改
相当于一个弱化的指针
注:如果引用一个常量需加上const
3、用引用传参(值传递)
典型例子:
void swap(int&rhs,int&lhs)
{
int temp=rhs;
rhs=lhs;
lhs=temp;
}
注:函数之间的值是通过栈传递
而引用传递的是变量本身(地址)速度更快,而且使用时作用于外部的变量,即会修改外部变量的值
建议:传参用引用
注:引用不能取代指针,因为只有指针才能指向堆空间(new)
*冷知识
1、 Int *&refp=p;//无意义
2、 int*p=vel;
auto &refp=p;//不要这样使用,无意义
//auto数据类型(自动推导所需的类型)
*const
const int *pval=&val;
const *int pval=&val;
都是值无法修改,因为const是左结合
int * const pval=&val;
注:不要玩编译器
二、类、对象
1、概念 广义上 编程(狭义上)
属性 (变量)
类 虚的
方法 (函数)
手脚
对象 实体
功能
2、 定义
class MyClass(默认权限私有,只能在内部访问)
{
……
public:
…… //这些都是公有的
Private:
…… //私有
public:
MyClass() //,与类名相同
{
;
}
~MyClass() //析构函数,与类名相同
{
;
}
}
说明:
当对象产生时,构造函数被调用
当对象消亡时,析构函数被调用
二者必须是public或者不写(自动生成空的的)
3、使用
类似于c中的结构体
作业
一个字符串class