<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[wait___wait的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/wait___wait</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; wait___wait]]></copyright><item><title><![CDATA[【c++】拷贝构造和赋值运算符重载]]></title><link>https://blog.youkuaiyun.com/wait___wait/article/details/140463605</link><guid>https://blog.youkuaiyun.com/wait___wait/article/details/140463605</guid><author>wait___wait</author><pubDate>Sun, 21 Jul 2024 11:41:51 +0800</pubDate><description><![CDATA[则此构造函数也叫做拷贝构造函数，也就是说。直接的拷贝赋值，这里要注意跟拷贝构造区分，未来很长，值得我们全力奔赴更美好的生活✨。赋值运算符重载是一个。]]></description><category></category></item><item><title><![CDATA[【C++】构造函数和析构函数]]></title><link>https://blog.youkuaiyun.com/wait___wait/article/details/140456134</link><guid>https://blog.youkuaiyun.com/wait___wait/article/details/140456134</guid><author>wait___wait</author><pubDate>Fri, 19 Jul 2024 09:39:30 +0800</pubDate><description><![CDATA[内置类型：构造函数：通常不需要编写，因为编译器提供的默认构造函数足以处理内置类型。析构函数：不需要编写，因为内置类型不需要特定的清理操作。拷贝构造函数：不需要编写，因为内置类型的默认拷贝行为（浅拷贝）是正确的。自定义类型：构造函数：可能需要编写，尤其是当对象需要特定的初始化逻辑时。析构函数：可能需要编写，如果对象在生命周期结束时需要进行资源释放或清理操作。拷贝构造函数：可能需要编写，尤其是当类包含指针成员或需要深拷贝时。]]></description><category></category></item><item><title><![CDATA[C++入门基础]]></title><link>https://blog.youkuaiyun.com/wait___wait/article/details/140337897</link><guid>https://blog.youkuaiyun.com/wait___wait/article/details/140337897</guid><author>wait___wait</author><pubDate>Fri, 19 Jul 2024 09:31:51 +0800</pubDate><description><![CDATA[定义命名空间，需要使用到namespace关键字，后面跟命名空间的名字，然后接一对{}即可，{}中即为命名空间的成员，花括号外面没有分号。命名空间中可以定义变量/函数/类型等。namespace本质是定义出一个域，这个域跟全局域各自独立，不同的域可以定义同名变量，所以下面的rand不在冲突了。C++中域有函数局部域，全局域，命名空间域，类域；域影响的是编译时语法查找一个变量/函数/类型出处(声明或定义)的逻辑，所有有了域隔离，名字冲突就解决了。]]></description><category></category></item><item><title><![CDATA[ONLYOFFICE8.1版本桌面编辑器测评]]></title><link>https://blog.youkuaiyun.com/wait___wait/article/details/140262685</link><guid>https://blog.youkuaiyun.com/wait___wait/article/details/140262685</guid><author>wait___wait</author><pubDate>Mon, 08 Jul 2024 11:09:46 +0800</pubDate><description><![CDATA[总体来说，ONLYOFFICE以其卓越的兼容性、实时协作、跨平台能力及强大的安全特性，在办公软件市场中独具优势。随着8.1版本的更新，其界面设计、编辑功能、协作体验和安全性得到进一步提升。展望未来，我们相信它将不断满足用户需求，巩固其作为一站式办公解决方案的地位。]]></description><category></category></item><item><title><![CDATA[【ONLYOFFICE8.1桌面编辑器】强势来袭—— 一款全面的办公软件套件]]></title><link>https://blog.youkuaiyun.com/wait___wait/article/details/139960005</link><guid>https://blog.youkuaiyun.com/wait___wait/article/details/139960005</guid><author>wait___wait</author><pubDate>Tue, 25 Jun 2024 19:46:01 +0800</pubDate><description><![CDATA[ONLYOFFICE以其卓越的兼容性、实时协作、跨平台能力及强大的安全特性，在办公软件市场中独具优势。随着8.1版本的更新，其界面设计、编辑功能、协作体验和安全性得到进一步提升。展望未来，我们相信它将不断满足用户需求，巩固其作为一站式办公解决方案的地位。]]></description><category></category></item><item><title><![CDATA[【数据结构】单链表]]></title><link>https://blog.youkuaiyun.com/wait___wait/article/details/138401285</link><guid>https://blog.youkuaiyun.com/wait___wait/article/details/138401285</guid><author>wait___wait</author><pubDate>Fri, 10 May 2024 19:19:41 +0800</pubDate><description><![CDATA[概念：链表是一种物理存储结构上非连续、非顺序的存储结构，数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表的结构跟火车车厢相似，淡季时车次的车厢会相应减少，旺季时车次的车厢会额外增加几节。只需要将火车里的某节车厢去掉/加上，不会影响其他车厢，每节车厢都是独立存在的。车厢是独立存在的，且每节车厢都有车门。想象⼀下这样的场景，假设每节车厢的车门都是锁上的状态，需要不同的钥匙才能解锁，每次只能携带⼀把钥匙的情况下如何从车头走到车尾？最简单的做法：每节车厢里都放一把下一节车厢的钥匙。]]></description><category></category></item><item><title><![CDATA[【oj题】环形链表]]></title><link>https://blog.youkuaiyun.com/wait___wait/article/details/138415644</link><guid>https://blog.youkuaiyun.com/wait___wait/article/details/138415644</guid><author>wait___wait</author><pubDate>Fri, 10 May 2024 09:37:38 +0800</pubDate><description><![CDATA[因此，在慢指针走到一圈之前， 快指针肯定是可以追上慢指针的，即相遇。即慢指针一次走一步，快指针一次走两步，两个指针从链表起始位置开始运行，如果链表带环则一定会在环中相遇，否则快指针率先走到链表的末尾。当慢指针刚进环时，可能就和快指针相遇了，最差情况下两个指针之间的距离刚好就是环的长度-1。head指针走L步，meet指针走C-N步，head指针和meet指针相遇，此时就是环的第一个节点。假设链表带环，两个指针最后都会进入环，快指针先进环，慢指针后进环。假设快指针一次走3步，慢指针一次走1步。]]></description><category></category></item><item><title><![CDATA[编译和链接]]></title><link>https://blog.youkuaiyun.com/wait___wait/article/details/137206740</link><guid>https://blog.youkuaiyun.com/wait___wait/article/details/137206740</guid><author>wait___wait</author><pubDate>Sun, 31 Mar 2024 20:27:07 +0800</pubDate><description><![CDATA[我们在 test.c 文件中每一次使用 Add 函数和 g_val 的时候必须确切的知道 Add 和 g_val 的地 址，但是由于每个文件是单独编译的，在编译器。将源代码程序被输入扫描器，扫描器的任务就是简单的进行词法分析，把代码中的字符分割成一系列 的记号（关键字、标识符、字面量、特殊字符等）。在 gcc 环境下想观察⼀下，对 test.c 文件预处理后的.i文件，命令如下： 1 gcc -E test.c -o test.i。，所以暂时把调用 Add 的指令的目标地址和 g_val 的地址。]]></description><category></category></item><item><title><![CDATA[fread和fwirte函数]]></title><link>https://blog.youkuaiyun.com/wait___wait/article/details/137205798</link><guid>https://blog.youkuaiyun.com/wait___wait/article/details/137205798</guid><author>wait___wait</author><pubDate>Sun, 31 Mar 2024 19:08:49 +0800</pubDate><description><![CDATA[返回值：如果成功，读取的总字节数为 （size*count），返回。fwrite和fread的理解差不多，这里就不多做阐述啦！参数不同，则表示读取时发生读取错误或到达。在这两种情况下，可以分别使用。从流（二进制文件）中读取数据块。为size，并将它们存储在。size 或 count。个元素的数组，每个元素的。指向的流状态和内容保持。]]></description><category></category></item><item><title><![CDATA[文件的顺序读写——顺序读写函数——fgets、fgetc、fputs、 fputc]]></title><link>https://blog.youkuaiyun.com/wait___wait/article/details/137182488</link><guid>https://blog.youkuaiyun.com/wait___wait/article/details/137182488</guid><author>wait___wait</author><pubDate>Sat, 30 Mar 2024 23:54:06 +0800</pubDate><description><![CDATA[一、fgetc和fputc函数一、fgetc和fputc函数1.1 fputc返回类型int：如果成功读取字符，返回的是字符的ASCII码值——char如果读取失败或者遇文件末尾，则返回EOF(-1) ——int为了统一，将函数的返回类型定为int（char类型提升为int类型）]]></description><category></category></item><item><title><![CDATA[文件的打开和关闭]]></title><link>https://blog.youkuaiyun.com/wait___wait/article/details/137180246</link><guid>https://blog.youkuaiyun.com/wait___wait/article/details/137180246</guid><author>wait___wait</author><pubDate>Sat, 30 Mar 2024 20:36:53 +0800</pubDate><description><![CDATA[我们程序的数据需要输出到各种外部设备，也需要从外部设备获取数据，不同的外部设备的输入输出操作各不相同，为了方便程序员对各种设备进行方便的操作，我们抽象出了流的概念，我们可以把流想象成流淌着字符的河。C程序针对文件、画面、键盘等的数据输入输出操作都是通过流操作的。一般情况下，我们要想向流里写数据，或者从流中读取数据，都是要打开流，然后操作。]]></description><category></category></item><item><title><![CDATA[strcat与strncat函数使用与模拟实现]]></title><link>https://blog.youkuaiyun.com/wait___wait/article/details/136958777</link><guid>https://blog.youkuaiyun.com/wait___wait/article/details/136958777</guid><author>wait___wait</author><pubDate>Wed, 27 Mar 2024 08:21:07 +0800</pubDate><description><![CDATA[【代码】strcat与strncat函数使用与模拟实现。]]></description><category></category></item><item><title><![CDATA[拿下大怪兽——指针]]></title><link>https://blog.youkuaiyun.com/wait___wait/article/details/136965634</link><guid>https://blog.youkuaiyun.com/wait___wait/article/details/136965634</guid><author>wait___wait</author><pubDate>Wed, 27 Mar 2024 08:20:38 +0800</pubDate><description><![CDATA[二维数组传参，形参的部分可以写成数组，也可以写成指针形式。]]></description><category></category></item><item><title><![CDATA[【三种方法】求一个整数存储在内存中二进制中的1的个数附两道课外练习题]]></title><link>https://blog.youkuaiyun.com/wait___wait/article/details/136150563</link><guid>https://blog.youkuaiyun.com/wait___wait/article/details/136150563</guid><author>wait___wait</author><pubDate>Sat, 23 Mar 2024 08:51:05 +0800</pubDate><description><![CDATA[数据在内存中以补码形式存储。题目要求我们求一个数在内存中二进制中1的个数，从这里可以想到，我们需要定义一个变量count来计数，再得到二进制的每一位，并且再判断它是否为1，这道题就差不多解决了。但问题就是如何得到二进制的每一位？我们知道二进制的每一位要么是0要么是1，因此求二进制中1的个数，只需%2，看得到的余数是不是1，如果是1，count++，之后/2使得这个二进制去掉最后一位，如此循环往复，直到该数字为0，count的值就是1的个数。课外练习：用位运算判断一个数是否是2的次方数；二进制位置0或者置1]]></description><category></category></item><item><title><![CDATA[结构体内存对齐]]></title><link>https://blog.youkuaiyun.com/wait___wait/article/details/136957776</link><guid>https://blog.youkuaiyun.com/wait___wait/article/details/136957776</guid><author>wait___wait</author><pubDate>Sat, 23 Mar 2024 08:49:53 +0800</pubDate><description><![CDATA[1.结构体的第一个成员对齐到和结构体变量起始位置的地址处2.其他成员变量要对齐到某个数字（对齐数）的整数倍的地址处。对齐数= 编译器默认的一个对齐数与该成员变量大小的。VS 中默认的值为 8Linux中 gcc 没有默认对齐数，对齐数就是成员自身的大小3.为最大对齐数（结构体中每个成员变量都有一个对齐数，所有对齐数中最大的）的 整数倍。4. 如果嵌套了结构体的情况，嵌套的结构体成员对齐到的整数倍处，结构体的整体大小就是所有最大对齐数（含嵌套结构体中成员的对齐数）的整数倍。]]></description><category></category></item><item><title><![CDATA[浮点数在内存中的存储]]></title><link>https://blog.youkuaiyun.com/wait___wait/article/details/136796314</link><guid>https://blog.youkuaiyun.com/wait___wait/article/details/136796314</guid><author>wait___wait</author><pubDate>Mon, 18 Mar 2024 08:31:57 +0800</pubDate><description><![CDATA[常见的浮点数：3.14159、1E10等，浮点数家族包括： float、double、long double 类型。浮点数表示的范围： float.h 中定义根据国际标准IEEE（电气和电子工程协会）754，任意一个二进制浮点数V可以表示成下面的形式：•  M表示符号位，当S=0，V为正数；当S=1，V为负数(−1)•  S表是有效数字，M是大于等于1，小于2的•  E表示指数位举例来说：十进制的5.0，写成二进制是 101.0 ，相当于 1.01×2^2。]]></description><category></category></item><item><title><![CDATA[数据在内存中的存储之整数存储]]></title><link>https://blog.youkuaiyun.com/wait___wait/article/details/136791554</link><guid>https://blog.youkuaiyun.com/wait___wait/article/details/136791554</guid><author>wait___wait</author><pubDate>Mon, 18 Mar 2024 07:42:45 +0800</pubDate><description><![CDATA[整数的2进制表示方法有三种，即原码、反码和补码三种表示方法均有和两部分，符号位都是0表用示“正”，用1表示“负”，而最高的一位是被当做符号位，剩余的都是数值位。原码：直接将数值按照正负数的形式翻译成二进制得到的就是原码。反码：将原码的符号位不变，其他位依次按位取反就可以得到反码。补码：反码+1就得到补码。对于整形来说：数据存放内存中其实存放的是补码。为什么呢？在计算机系统中，。原因在于，使用补码，可以将符号位和数值域统⼀处理；]]></description><category></category></item><item><title><![CDATA[【C语言】strcpy与strncpy函数的使用和模拟实现]]></title><link>https://blog.youkuaiyun.com/wait___wait/article/details/136778538</link><guid>https://blog.youkuaiyun.com/wait___wait/article/details/136778538</guid><author>wait___wait</author><pubDate>Sun, 17 Mar 2024 11:25:12 +0800</pubDate><description><![CDATA[• 源字符串必须以 '\0' 结束。• 会将源字符串中的 '\0' 拷贝到目标空间。• 目标空间必须足够大，以确保能存放源字符串。• 目标空间必须可修改。strcpy 不检查目标缓冲区的大小，因此如果目标缓冲区不够大，可能会导致缓冲区溢出，这是一个严重的安全风险。建议使用 strncpy并指定最大复制长度，以避免这种风险。]]></description><category></category></item><item><title><![CDATA[【C语言】字符分类函数与字符转换函数]]></title><link>https://blog.youkuaiyun.com/wait___wait/article/details/136778249</link><guid>https://blog.youkuaiyun.com/wait___wait/article/details/136778249</guid><author>wait___wait</author><pubDate>Sun, 17 Mar 2024 10:44:43 +0800</pubDate><description><![CDATA[C语言中有⼀系列的函数是专门做字符分类的，也就是⼀个字符是属于什么类型的字符的。这些函数的使用都需要包含⼀个头文件是ctype.h这些函数的使用方法非常类似，我们就讲解⼀个函数的事情：islower 是能够判断参数部分的 c 是否是小写字母的。通过返回值来说明是否是小写字母，如果是小写字母就返回非0的整数，如果不是小写字母，则返回0。]]></description><category></category></item><item><title><![CDATA[【C语言】如何规避野指针]]></title><link>https://blog.youkuaiyun.com/wait___wait/article/details/136595284</link><guid>https://blog.youkuaiyun.com/wait___wait/article/details/136595284</guid><author>wait___wait</author><pubDate>Tue, 12 Mar 2024 22:34:57 +0800</pubDate><description><![CDATA[对于指针也是，在使用之前，我们也要判断是否为NULL，看看是不是被拴起来起来的野狗，如果是，不能直接使用；如果不是，我们再去使用。我们可以把野指针想象成野狗，野狗放任不管是非常危险的，所以我们可以找⼀棵树把野狗拴起来，就相对安全了，给指针变量及时赋值为NULL，其实就类似把野狗栓前来，就是把野指针暂时管理起来。NULL 是C语言中定义的⼀个标识符常量，值是0，0也是地址，这个地址是无法使用的，读写该地址会报错。如果明确知道指针指向哪里就直接赋值地址，如果不知道指针应该指向哪里，可以给指针赋值NULL.]]></description><category></category></item></channel></rss>