&引用
引用必须创建时赋值。
int b;
int &a=b;如果 int &a会报错。
引用不可以修改。
int c;
a=c;会报错
一个值可以多次引用。
int &d=a;相当于&d=b;
引用不会开辟新的空间。
如图int &b=a;&c=a;&d=a;a,b,c,d.共用一块空间。

引用的权限可以缩小,
int b=0;
const int&a=b;
b可以++;
a不可++;
但改b,a也会改
引用权限不可放大
const int b=0;这是权限放大。
int&a=b;
指针和引用的区别
指针 引用
指针要开辟空间存储变量的地址 不开空间,指向原地址
不用初始化,只是建议初始化 必须初始化
需要解引用才可以访问原对象 直接访问原对象
sizeof是4/8, 和引用的类型一样
会出现野指针 很少有。
inline函数
inline是C++中的
关键字inline用于将函数指定为内联函数在函数返回类型前添加inline关键字,可提示编译器
在调用点直接展开函数体,从而避免函数调用的开销该机制主要用于优化频繁调用的简单函数,减少栈空间消耗并提升执行效率需注意,inline关键字必须与函数定义一同使用才有效,仅出现在声明前无效inline属于"实现"关键字,而非"声明"关键字。
是否展开和编译器有关。
如果函数很大会使代码臃肿,内联函数就不会展开。
如一个函数100行,一个n行的代码执行1000次函数,内联函数要加100*1000+n行;普通函数,n+100;
不能分离文件使用,因为内联函数,没用生成地址,只有声明无法使用。
c++创建内联函数是为了替代宏。
c++类
c++中NULL是int 0;
所以指针置空要用nullptr。
class是类的关键字
定义class name{};
访问限定符是c++的封装方式。
public修饰的成员在类外可以直接访问。
protected和private在类外不能直接访问。
访问权限的作用域从一个访问权限到下一个访问权限.
类中可以创建函数,c++也可以使用struct;

cpp
#include <iostream>
using namespace std;
class jsq{
public:
void add(int x,int y){
cout<<x+y<<endl;
}
void jian(int x,int y){
cout<<x-y<<endl;
}
void cheng(int x,int y){
cout<<x*y<<endl;
}
void chu(int x,int y){
cout<<x/y<<endl;
}
};
int main() {
int x,y;
cin>>x>>y;
jsq t;
t.add(x,y);
t.jian(x,y);
t.cheng(x,y);
t.chu(x,y);
return 0;
}
如果要函数和声明分开要加入类型
cpp
void jsq::chu(int x,int y){
cout<<x/y<<endl;
}