admin 管理员组

文章数量: 887007

【C++】c++中基本类型详细解释外加基本运算规则

👀👀#c++中包括算数类型和空类型。

类型含义
wchat_t宽字符
bool布尔类型
char字符
chat16_tunicode字符
chat_32unicode字符
short短整型
int整形
long长整型
longlong长整型
float单精度浮点型
double双精度浮点型
longdouble扩展精度浮点型

👀👀#复合类型:
是基于其他类型定义的类型(引用和指针)。
引用:为对象起一个名字,引用类型引用另外一种类型。通过将声明符写成&d的形式来定义引用类型,其中d是声明的变量名。

int ival =1024;
int &refo =ival;

注释:refo指向ival(是ival的另外一个名字)
👀👀#引用本质就是一个指针变量。
引用一旦初始化后,就不可以再发生改变(不能再引用其他变量)

int a=10;
int c=12;
//编译器自动转化为:int* const b=&b;
//指针常量是指针指向不可以改变,同理证明为什么引用不可以更改
int &b=a;
//int &b=c;(错误写法)

引用需要一个合法的内存空间

//  int &ref=10; 错误写法
//更改方法
const int &ref =10;
//编译器可以优化代码即等价于:
int temp=10;
const int &ref =temp;
//加const以后就不能再更改变量的值了

👀👀#引用传递

#include<iostream>
using namespace std;
void swap(int& a, int& b)
{int temp = a;a = b;b = temp;cout << a << endl;cout << b << endl;
}
int main()
{int a = 10;int b = 20;swap(a, b);return 0;
}

引用传递,形参会修饰实参。(实参也会改变)

👀👀#简单介绍一下const的用法:

const  int * const p =&a;

特点:指针指向和指针指向的值都不可以改变。

int * const p= &a;

指针常量特点:
指针的指向不可以改,指针指向的值可以改变。

const int * p =&a;

常量指针特点:
指针的指向可以修改,但是指针指向的值不可以改变。
👀👀#指针
指针是实现了对其他对象的间接访问。
指针本身就是一个对象,可以指针赋值和拷贝,在指针的生命周期内可以先后指向几个不同对象。指针无需在定义时赋值。
指针值
应该处于4种状态之一
1.指向一个对象
2.指向紧邻对象所占空间的下一个位置
3.空指针,没有指向任何对象
4.无效指针。(其他3种情况之外)
👀👀#void * 指针
特殊类型指针,可以存放任意对象的地址,作为函数的输入和输出、不能直接操作void * 指针所指的对象,(因为不知道所指对象类型)

本文标签: Cc中基本类型详细解释外加基本运算规则