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;
} 
相关推荐
weixin_4041576819 小时前
Java高级面试与工程实践问题集(五)
java·开发语言·面试
fengci.19 小时前
ctfshow(web入门)295-300
java·开发语言·学习
lly20240619 小时前
SOAP 简介
开发语言
小王不爱笑13219 小时前
Java 对象拷贝(浅拷贝 / 深拷贝)
java·开发语言·python
favour_you___19 小时前
C++实现的高性能内存池项目
c++
ℳ๓₯㎕.空城旧梦19 小时前
C++中的解释器模式
开发语言·c++·算法
想七想八不如1140819 小时前
面向对象程序设计--模拟题2查漏补缺
c++·考研
不想写代码的星星19 小时前
C++的'大自然搬运工':一文讲透using的所有用法
c++
JdayStudy19 小时前
SIR 网络传播仿真软件说明书
开发语言·网络·php
有点傻的小可爱20 小时前
【MATLAB】新安装并口如何实现能通过PTB启用?
开发语言·windows·经验分享·matlab