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;
} 
相关推荐
努力努力再努力wz2 小时前
【内存管理与高并发内存池系列】从 mmap 到 malloc:文件映射、匿名映射与 glibc 内存分配机制详解
linux·c语言·数据结构·数据库·c++·qt·链表
J2虾虾2 小时前
C 语言 void 完全用法
c语言·开发语言
八解毒剂3 小时前
数据结构-平衡二叉树——对二叉搜索树的优化
数据结构·c++·算法
会Tk矩阵群控的小木3 小时前
基于Python的iMessage短信群发与社媒多账号统一管理系统实现
开发语言·windows·python·新媒体运营·开源软件·个人开发
我是一颗柠檬3 小时前
【Java项目技术亮点】分库分表+数据路由策略:单表5000万后的架构升级方案
java·开发语言·分布式·架构
wu_ye_m3 小时前
学习c语言第35天 函数声明和定义
c语言·开发语言·学习
njsgcs3 小时前
c# solidworks 创建装配体工程图+bom
开发语言·c#·solidworks
起床困难户5753 小时前
条款20:协助完成返回值优化
c++
啦啦啦啦啦zzzz3 小时前
算法总结(二分查找、双指针)
c++·算法
小林敲代码77883 小时前
记录一下IDEA中很多变量变色的方案
java·开发语言·spring boot·idea