自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 收藏
  • 关注

原创 C++ - 模板

中class可以用typename代替。推演实例化:Swap(a,b);Swap(c,d);不能推演成两个类型:显式实例化:int(a,b);//类模板示例public:和是不同的类型,显示实例化的类型不同,他们就是不同的类。当编译器遇到一个模板定义时,不会生成代码,只有在遇到实例化语句时,才根据模板定义生成实例代码,此时,编译器需要知道模板的定义。(后面有详细说明)类内:跟没有模板的类没有区别class A。

2024-06-13 21:12:19 543

原创 浮点型在内存中的存储

本文到此就结束啦,如果有帮助到您,希望可以得到您的一个赞!因为任意一个二进制浮点数都可以表示成上述形式,所以存储一个浮点数,只要存。这样做的目的,是节省1位有效数字,多一位来放小数部分,精度会提高。在转为二进制时,因为小数权重的原因,可能永远没法碰巧凑为。所以,为了解决这个问题,IEEE 754规定,存入内存时。浮点数有两种表示方法,一种是直接写出来的小数,如。的正负,都要加中间数,只是这种操作是为负数的。,小数点可以移动,所以叫浮点数。可以看到,二进制整数部分的权重是,,因此可以被舍去,只保存后面的。

2024-06-13 19:07:08 1026

原创 整数在内存中的存储

数组类型,类类型(结构体类型),枚举类型,联合体类型。

2024-06-12 23:38:31 892

原创 C2065:“_tables”: 未声明的标识符

说明不是该类型的问题,而是中间过程有错误,导致查找时,无法查到末尾的 vector ,所以识别不了前面用到的 _tables。仔细检查发现是类中有一个函数语法有错误,改正后,错误解决。在实现哈希表时,HashTable 类中有定义成员变量。,但是VS显示识别不了这个符号。

2024-06-11 10:45:56 93

原创 C3892 “_Hole”: 不能给常量赋值

是由于对 vector 作了限制,vector 是无法被修改的,而。使用 sort() 给 vector排序时出现这个问题。

2024-04-28 17:56:10 95

原创 类和对象-类基础详解

分离:指的是成员函数定义写在了类外;注意要在函数前标明类域。未分离:指的是成员函数直接在类中定义;默认直接在类中定义的函数是内联函数。正确的用法:短小的函数可以直接在类内定义,较长的函数就声明和定义分离。🍃开空间的地方是定义,言明类型的是声明。!!🧡。

2024-01-14 00:40:10 918 1

原创 程序环境详解(翻译环境)

程序环境包括翻译环境和执行环境。计算机可以识别二进制指令,而我们写的代码时文本信息,计算机无法识别,需要翻译环境进行翻译后,计算机才能识别运行。执行二进制指令。

2023-09-18 11:16:01 106

原创 C语言函数详解

与库函数的区别就是,函数的名称,形参,返回值类型都可以自己定义。(自己的函数,想叫什么名字叫什么名字,想设置几个参数就设置几个参数)传递给函数数据,不改变实参传递给函数地址,可以改变实参看是否需要改变实参的值,需要改动就定义址传递函数,不需要就定义值传递函数。函数定义:创建某个函数。(盖房子)函数调用:使用某个函数。(住进房子里)函数嵌套定义:在一个函数中定义一个函数。该代码是在 main() 函数中,定义了一个名为 hell() 的函数。

2023-07-03 23:09:33 3844 2

原创 喝汽水,1瓶汽水1元,2个空瓶可以换一瓶汽水,给20元,可以多少汽水

empty 经过处理后是手里剩下的瓶子数(因为加了 %2 的瓶数)并不等于实际上这次喝的汽水数,所以结果会错误。当我们的钱数为 20 元时,最多是喝到 39瓶汽水的。

2023-06-04 18:36:51 153

原创 char 类型赋值,运算,打印过程中的截断,整形提升

下面通过一道例题,帮助大家理解char 类型赋值,运算,打印过程中的截断,整形提升过程。

2023-06-04 12:58:47 65

原创 strlen()函数的实现,应用:求字符串长度,字符(数字)数组内数组个数

所以,在 ret 计数了一个之后,会往后走一步,走 1 个字节,走到第二个紫色格子处,而第二个紫色格子里放的是0,(因为每种颜色的格子是一个 int 变量的 4 个字节,即,紫色的 4 个格子是 c1[0] 的 4 个字节,而 c1[0] 是 1,1 占用不了全部的 4 个字节,只占用了 1 个字节,所以后三个紫色格子是0),strlen()碰到 0 就结束计数了,所以打印出来的结果是 1。当 c1[0] 数字足够大的时候,分配给它的 4 个字节里都不会是 0 了,此时用 strlen()就不会是 1了。

2023-05-30 20:15:25 1507

原创 对二进制位进行操作的操作符:&(按位与), |(按位或) , ^(按位异或) ,~(按位取反)

双目操作符:& , | , ^单目操作符:~,<<,>>都是对二进制的进行运算的!!!

2023-05-30 19:31:28 56

原创 字符数组的初始化,赋值(字符串)

字符数组的初始化,赋值,字符串定义

2023-05-30 19:01:50 1159

原创 数组名arr和&arr的区别

arr:表示整个数组的地址(数值上 == 首元素地址,但意义并不相同)定义:int arr[4] = {1,2,3,4};arr+1:跳过第一个元素,第二个元素的地址。&arr+1:跳过整个数组,下面内存的地址。arr:表示数组元素首地址。

2023-05-26 22:18:27 311

原创 打印出数字的 2,8,16进制

VS认为该函数不安全,改为 _itoa(),要使用_itoa(),需要增加预处理,同时在文件开头加上宏定义。以转为10进制字符串为例:将变量 i 的数字,转化为10进制的字符串,存放到数组 buffer 中。打印进制无限制,但打印出来的不再是数字,而是字符串了。打印出8,10,16进制,无法打印数字的二进制形式。头文件:#include头文件:#include1.VS中使用itoa()函数有限制。一,printf()

2023-05-26 21:37:54 163

原创 int 类型表示的数字范围大小

包含头文件 #include,可看到:INT_MIN 是 int 类型表示的最小范围。INT_MAX是 int 类型表示的最大范围。

2023-05-26 21:23:42 2007 1

原创 用 sizeof 和 strlen()获得字符数组的长度

用 sizeof 求出的是创建数组时,开辟的空间的大小,而 strlen()是求字符串长度的,从首地址开始,到‘\0'结束。sizeof 是关键字,而 strlen()是库函数(需要包括头文件 #include<string.h>)。① 定义字符数组:char str[ ] = “welcome to wuhan!用 sizeof 求出的数组长度是 10,而用 strlen()求出的是 4。strlen()求字符数组长度:不包括结束标志 '\0';sizeof 求字符数组长度:包括结束标志'\0';

2023-05-24 13:16:43 248 1

原创 用 sizeof 获得数组元素个数

② 用上述三个公式,得到的是 10,而不是 5 ,因为 sizeof 计算的是开辟的空间,而不是数组内初始化了几个元素(或者,用了几个数组内的元素)。此处,sizeof(arr)是16个字节,而 sizeof(arr[0])是 4 个字节大小。sizeof(arr)中,arr表示整个数组,而不是数组首元素的地址。① 定义数组: int arr [10] = {1,2,3,4,5};① 定义整形数组:int arr[ ]= {1,3,4,5};

2023-05-24 11:53:12 1842 2

原创 统计二进制中 1 的个数(负数判断补码中 1 的个数)

判断 m 中二进制中1的个数,用 count 计数 1 的个数,用 %2 得到末位,用 /2 得到本次判断过后能接着用 %2 得到下一次末位的数,一旦 m 变成了 0,就判断完了,不必再继续了。-1在内存上存的就是32个 1 ,但因为传给一个unsigned int 类型,所以把这32个 1 当做无符号数,就没有原反补的概念了,直接就是一个很大的正数,可以统计出32个1。看后3位,是从后面第三个开始借的,所以结果以后,上下两排的后三位就完全错开了,所以&后,就全变成 0 了。无法判断负数中的 1 的个数。

2023-05-22 18:45:51 98 1

原创 =(赋值)和 ,(逗号表达式)的优先级

比 ,的优先级高。

2023-05-22 18:21:53 404 1

原创 ++和*(解引用)的优先级

前置++:++和*的优先级相同。(优先级相同的时候,看结合性,两者都是都是从右到左的结合性)后置++:++的优先级高于*,先算++部分。

2023-05-22 18:18:50 1950 1

原创 三子棋游戏,代码(几子棋可以自己设置)

此处用循环来实现,在电脑和玩家都没赢的时候,两方会一直下棋,所以用循环,至于循环条件,我们没用循环条件,而是用了break再合适的时机结束程序,(合适时机:判断输赢的函数,返回值,如果是 ‘C’:两方都没赢呢,‘Q’:平局了,‘*’:玩家赢了,‘#’:电脑赢了,所以当返回值不是‘C'时,那就是肯定有结果了,不用再继续下棋了,我们就可以跳出循环了)。注意:此处涉及 随机函数rand()的应用,rand()要搭配 srand()函数用,而 srand(),又需要time()函数。

2023-05-10 18:07:37 60 1

原创 如何删除CSDN上发布的文章(博客)

④确定删不删除(让你想清楚吧,万一你是不小心点错了呢)① 点击个人头像,进入个人信息网页。③内容管理—>...—>删除。

2023-05-10 15:09:58 732 1

原创 开始(这是一场盛大的结束,也是一场盛大的开始)

② (应用)应用理解——熟练应用——自由应用——高级应用。3.如何学习:①(概念)对每一个知识点都清晰明白,并达到一定的理解深度;2.学习目标:希望有一天可以达到对大部分代码都不会烦恼的境地(自由)1.自我介绍:武汉某所大学,22级学生,来自河北,对武汉适应良好。③(总览)知识串联——应用串联。4.投入时间:每一部分在达到我的要求目标后不再投入时间。5.想去的公司:微软。

2023-04-02 12:17:50 120

原创 Gitee(码云)的创建及托管

(指的是,将上方所指的远程仓库存到‘测试getee’的文件中,test-function是远程仓库的名字。④将本地代码写到该文件中(新建项目的存储地址填test-function)仓库链接:https形式的链接和ssh形式的链接(一般用https的)①找到要提交的代码项目的文件夹所在界面,右击找add,后点OK。①找到本地要存储远程仓库文件的文件夹。②右键找到Git Clone,点击。③添加描述后,点commit。在gitee上创建仓库。②在后续界面点commit。success后点ok即可。

2023-04-02 11:28:16 186 2

空空如也

空空如也

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

TA关注的人

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