c++的引用和类的初见

&引用

引用必须创建时赋值。

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;
} 
相关推荐
yong99902 小时前
水箱水位控制系统MATLAB实现
开发语言·matlab
通往曙光的路上2 小时前
授权vvvvvv
java·开发语言·windows
Data_agent2 小时前
京东商品视频API,Python请求示例
java·开发语言·爬虫·python
a努力。2 小时前
HSBC Java面试被问:CAS如何解决ABA问题
java·开发语言·面试
lang201509283 小时前
深入解析Java资源加载机制
java·开发语言·python
晨尘光3 小时前
【Windows 下FlatBuffers 编译.fbs文件并应用】
c++·windows
LCG米3 小时前
嵌入式Python工业环境监测实战:MicroPython读取多传感器数据
开发语言·人工智能·python
煤球王子4 小时前
学而时习之:C++中的文件处理2
c++
武汉唯众智创4 小时前
职业院校C语言程序设计(AIGC版)课程教学解决方案
c语言·开发语言·aigc·程序设计·c语言程序设计·c语言程序设计实训室