自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 问答 (1)
  • 收藏
  • 关注

原创 C++引用变量,引用常量

(返回值和(常量、程序中产生的副本)并没有保存在同一种内存里),将一个消失的值返回毫无意义,并且访问一个不存在的内存会造成指针丢失,那么我们要如何保留住一个临时变量让其再函数调用完之后还能使用呢?:函数传参的过程中往往不了避免的存在类型转换,表达式传递这些操作,为了使得函数对引用类型的参数有更好兼容性,提出了引用常量的概念。引用变量相当于给变量起了一个别名,也就是说引用变量的创建并不会消耗内存空间,引用变量的名称和原变量的名称具有完全一致的权限。引用作为一个别名很明显的是不支持类型转换的,因为变量在。

2024-01-27 11:12:28 611

原创 内联函数和常规函数

程序文本编译后会得到可执行文件,而可执行文件由一系列的指令构成,这些指令以一定的顺序存储在内存中,计算机将逐步执行这些语句,函数调用的指令只是主程序语句序列中的一条。函数本身也是一系列指令序列的集合,而函数调用的指令会在执行该指令时跳转到函数的指令集合存储的地址,执行完指令后返回原来主程序中函数调用这一指令所在的地址中,继续执行主程序剩下了的指令。内联函数调用的方式和函数不一样,内联函数在编译时会将函数替换为实现该函数的代码,再转换为指令集,函数的指令将成为主程序指令序列的一部分。

2024-01-26 21:50:49 347 1

原创 C++函数、函数指针、指针的指针、函数指针的指针

pt=p→pt是一个指向指针数组第一个元素的指针,存储一个指针变量的地址,步长等于一个指针长度,pt+1使得指针指向指针数组第二个元素的地址(地址b),也就是说(pt+1)= &b,*(pt+1)= b,而b可以看作一个指针,存储变量b[0]的地址,**(pt+1)=b[0],相当于跨过了整个数组a的步长。*ph = &p→ph是指向整个函数指针数组的指针,(*ph)和函数指针数组名用法一样,ph+1步长等于整个数组p的地址表示的内存大小,也就是整个数组的长度。p是一个包含两个指针的指针数组。

2024-01-25 19:19:34 796 1

原创 C++中的clock()函数、文本文件I/O

我们将键盘输入和屏幕显示输出称为:控制台I/O,cin输入的数据最初都是字符数据(文本数据),cin根据程序对数据类型进行转换后存储使用。头文件time.h提供了秒和系统时间单位的比例(1s = CLOCKS_PER_SEC),clock()函数返回类型的别名(clock_t),可以用来存储系统单位的时间。可以使用for循环访问数组或容器类(vector,array)所在内存空间里的所有数据(包括空位)。C++库中的clock()函数:用于返回程序开始运行后所用的系统时间;

2024-01-24 14:57:10 664 1

原创 C++指针、new、delete

指针用于存储变量的地址,可以用*间接值运算符访问当前地址内存储的数据,之前我们提到,变量在声明之后程序将自动为变量分配地址,并可以使用取地址运算符(&)来获取存储变量的内存地址,指针和变量就像是一枚硬币的正反面,使用*,&来翻转就可以看到对面的值。:可以使用new为已经定义好结构规范的结构类型分配空间,之前我们使用成员运算符( . )来访问结构体中的各个变量,而new的结构体内存并没有名称,为此C++提供了一个使用指针访问结构体的工具箭头成员运算符(->)。delete运算符:可以释放指定地址的内存。

2024-01-19 20:22:39 1616 1

原创 C++复合类型

string类与C风格字符串的区别是string类对象不再是一个数组,而是简单变量,并且C风格字符串初始化后其所占内存大小将被固定不能被改变,而string类对象的大小则是可调整的。定义:和结构体相似,首先定义该内存内可能存储的数据类型,变量名称,内存由其中最大的类型来决定。1、创建结构的格式规范:所创建的结构的类型类型名称,以及该结构中涉及到的不同数据类型的定义;的数据格式,元素在内存中的存储是连续的,可以使用sizeof运算符得到数组所占内存的大小。:一种新型的创建符号常量的方法。

2024-01-18 11:27:39 1011 1

原创 C++数据类型转换

问题:硬件编译指令可能要根据处理的数据类型变换,但数据类型种类繁多,计算机处理起来很复杂。【1】创建了一个int类型的量,值为变量value里存储的值,变量value的数据类型不变;解决方法:对数据进行类型转换,减少数据运算的种类,向自然长度靠拢。【2】强制将value数据类型更改为int;运算符优先级和结合律。

2024-01-16 20:06:27 352 1

原创 C语言和C++

1、面向对象编程(OOP):C++提出了类的概念,实际上提供了一种特殊的数据类型,把某种基础的数据和操作数据的方法定义为一种新的数据类型,再编写一个程序调用类实现任务,实际上是将C语言里的小任务程序变得更加兼容,不同的程序都可以调用,使得同一种操作不用反复多次的进行过程性的编写,提高了代码的复用率,这种特殊的数据类型使得编程相比C语言拥有更为多样的编程思路,不在局限于自上而下的编程模式,使得大型任务编程的构思更为简单。经过这些操作后,我们就得到了一个计算机能够识别使用的可执行文件。C语言和C++的关系。

2024-01-14 21:30:08 390

原创 C++浮点数

由于浮点数有缩放因子的存在,其能表示的范围要广得多,但同时,涉及到十进制向二进制转换,可能存在约数的情况,所以浮点数同比整数其精度有所下降,同时由于其特殊的保存方式,计算机处理浮点数的效率也会有所下降。可以看出,可以十分直观的看出E表示法十分适合表示很大的数和很小的数,所以当整型很大无法用整型现有的类型来表述的时候,可以将其保存为浮点数。以32位的浮点数为例,32位的内存空间将这么划分给各个部分:符号(S:1位)数值(M:23位)指数(E:8位)。将浮点数转换成二进制编码的方式:IEEE754规则。

2024-01-12 14:33:34 479

原创 C++整型

一般情况下将其存储为int类型,考虑范围选择long或者longlong类型,原因与前面一致,对于需要指定存储类型的情况,可以在后面添加后缀来实现:u(无符号)l(长整型),ll(长长的整型),后缀可以混合使用,如ul;上图中程序可得一个int类型的整型所占字节数及一个字节长度(位),可以得出一个整型所使用的内存大小为多少位,位数决定了该类型可以表示的数据范围(计算机存储的都是二进制数)。所以在数据在计算机硬件(存储器)存储时,需要向硬件提供所需内存的大小,不同系统同一整型的内存大小并不一定相同。

2024-01-11 22:24:45 395

原创 C++字符

一些字符由于程序编辑器或者C++语言赋予了特殊含义,一些字符无法从键盘上输入。解决方法:使用数字编码表示其他字符(eg.字母,符号等),从而得到字符的编码集,例如ASCII字符集,Unicode字符集等。例如,键盘输入‘M’,cin将其转换为数值77(ASCII编码)存储,输出时cout将77转换为‘M’显示。字符到数字的转换通过cin,cout对象实现数字和符号之间的转换。:一些字符长度编码大于char的8个位,无法使用char来存储。键盘输入“\n”,存储为10(ASCII),输出为换行符。

2024-01-11 10:46:09 392

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除