- 博客(40)
- 问答 (1)
- 收藏
- 关注
原创 在vs系列编译器中,debug模式下,关于std::vector::at 和 std::vector::operator[]
在C++中,std::vector 是一个非常常用的容器,它允许我们存储同一类型的动态数组。std::vector 提供了两种访问其元素的方法:at 和 operator[]。std::vector::at 和 std::vector::operator[] 的主要区别在于。
2024-02-22 22:03:36 427
原创 针对 Windows 10 的功能更新,版本 22H2 - 错误 0xc1900204
计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion。最近想帮女朋友生win11发现她电脑安装更新总是卡到安装%10这里失败。win + R → 输入regedit。原来是安装路径被修改过了,改回c盘。
2024-07-03 13:48:12 1039
原创 gcc跟g++ -std=c99跟-std=c++11
解决方案:这个waring提示我c++11,也就是这里出错了,后来我改成了c99发现还是不行,原来是忘记q前面g++要改成gcc了。
2024-05-14 17:32:57 311
原创 28map,set关联式容器
序列式容器 vector、list、deque(单纯的纯数据)关联式容器 map、set,哈希,,,(数据之间有很强的关联性,不是单纯的为了存储数据)
2024-04-22 16:47:27 742
原创 内存管理,string模拟实现(中)
如果修改数据 例如tmp【0】=‘x’ 这时还带深拷贝 引用计数,为2时说明还有人指向这块空间,就只能深拷贝,然后计数--;vs是深拷贝,llinux是浅拷贝linux修改后 s1修改了s2不动。
2024-03-20 11:53:55 414
原创 24c++多肽
虚函数在哪?虚函数表存那在哪?堆?栈?静态区?代码段?虚函数和普通函数一样一样,都是存在代码段,同事吧虚函数地址存了一份到虚函数表虚函数表在哪呢?不会在栈,或栈,堆是动态分配,没有分配和释放打印虚表的地址虚函数地址跟下面的普通函数的地址是放在一起的虚函数的地址一定会被放到虚函数表里面么?重写了fun1所以d中1地址变了2没变(继承下来)但是没有3,4, 5不是虚函数base不一定是唯一父类,Derive也可能是某个子类的父类。
2024-03-20 11:50:05 455
原创 linunx题目
僵尸进程(Zombie Process)是一个已经终止但还未被其父进程“收尸”的进程。当子进程结束运行时,它会留下一个状态码,并通知父进程来回收。如果父进程没有正确地调用wait()或waitpid()来回收子进程的资源,那么这个子进程就会成为一个僵尸进程。A. 僵尸进程必须使用waitpid/wait接口进行等待。A.僵尸进程必须使用waitpid/wait接口进行等待。D. 僵尸进程是因为父进程先于子进程退出而产生的。D.僵尸进程是因为父进程先于子进程退出而产生的。首先,我们来理解一下什么是僵尸进程。
2024-03-16 00:32:51 228
原创 20 21 继承
保护和私有之前是没有区别的,在继承这里私有在子类是看不见的 ,这里保护可以看见子类继承的访问,是min(父类,子类)父类和子类中小的那个访问权class继承方式不写默认是私有继承,struct默认是公有(不要不写,建议写上)publi,父类和子类是is-a关系有些相近类型会发生隐式类型转换r不能引用d因为d会生成临时对象,具有常性 要加constis-a我就是你,has-a组合这里没有产生临时对象, 这里生成临时对象,然后再拷贝构造(加const)
2024-03-15 21:28:20 472
原创 c++内联函数
需要注意的是,内联函数并不是一定会被编译器内联展开的。编译器会根据实际情况进行优化,如果内联函数较小且调用频繁,编译器可能会选择将其内联展开,否则可能会选择不进行内联展开。此外,内联函数应该尽量保持简单,避免过多的逻辑和计算,否则可能会影响程序的执行效率。的内联函数,用于返回两个整数中的较大值。内联函数是一种特殊的函数,它会在调用时被编译器内联展开,即将函数体直接插入到调用处,以避免函数调用的开销。函数时,由于它被声明为内联函数,编译器会将其函数体直接插入到调用处,从而避免了函数调用的开销。
2024-03-05 21:26:24 406
原创 const T* 和T* const
是另一种类型,它同时限制了指针本身和指针所指向的值都不能被修改。这种类型通常用于那些既需要保证数据稳定性又需要保证指针稳定性的场景。这两种类型的主要区别在于“const”修饰的是指针本身还是指针所指向的值。则用于创建一旦指向某个对象就不能再改变的指针,这通常用于保证某些资源的稳定性或安全性。这两种类型都涉及到指针和常量,但它们的含义和使用场景有所不同。通常用于保证函数不会修改传入的指针所指向的数据,而。
2024-02-24 09:57:16 260
原创 下面这个代码输出的是( )
方法时,需要注意返回的迭代器指向的是被删除元素之后的位置。在代码中,当删除一个元素后,立即使用相同的迭代器继续循环,这会导致跳过下一个元素。这是因为在删除元素后没有更新迭代器的位置。现在指向一个已经不存在的元素,因此在下一次迭代中,会跳过下一个元素。为了修复这个问题,需要在删除元素后更新迭代器的位置。会返回一个指向已删除元素之后的位置的迭代器。下面是修复后的代码:输出结果为100 500。中删除所有值为300的元素。来做到这一点,但这只能在。
2024-02-22 21:45:51 136 1
原创 18,19,20 ,栈,队列,优先级队列
实际中deque不常用,下边随机访问还带看vector ,如果说头尾插入删除deque还不错,作为栈和队列的适配器还不错,略优于vector(没有扩容尾插(vector尾插需要遍历)),list(不用每次插入删除都要开辟空间)。简单了解deque。
2024-02-22 12:09:37 1778
原创 c++内存管理(上)
在这不会内存泄漏,因为p1是内置类型,operator new 【】会调用operator new,再调用malloc再调用构造函数,但是内置类型不调用构造,delete也不用调用析构,所以这三个都不会出现问题。new开辟40个字节,其实是44个字节, delete【】会识别前面的字节知道有多个, 他就会取10个字节调用析构函数,但是free和delete不会识别。这里func(S1)传参为了避免拷贝,和深拷贝,用引用,加上const防止更改,但是会报错,因为迭代器iterator是。
2024-02-02 08:47:04 687
原创 C艹基础知识回忆
官方库,自己的库,别人的库命名空间可以有变量,函数,结构体流提取全缺省声明和定义不允许同时给缺省参数 ,所以分离时候声明给,定义不给static可以改变连接属性吧外部链接改成内部链接函数名相同。
2023-11-22 18:15:02 789
原创 输入一个字符,输出该字符相应的ASCII码
就比如这题的char型变量,它是在这个编译器里面是一个字节的长度,也就是8位二进制。而%d是指的int类型的转换规则,也就是4个字节,想要正确的显示char类型的话需要在%后面,d的前面加上一个长度指示符。那有的人就要问了,这不是题目都过了,怎么还不对了呢?这是因为printf这个函数会将int类型等级以下的类型自动转换为int类型,如会自动把char、short转换为int类型,所以输出的依旧是正确的。在输出显示的时候,数据的长度对应上是很重要的,多了会浪费不必要的空间,少了会导致数据输出显示异常。
2023-09-20 21:04:08 1432 2
转载 【无标题】https://max.book118.com/html/2019/1129/5223132001002204.shtm
《Python语言程序设计基础(第2版)》全答案v3.pdf
2022-04-05 18:15:34 2291
空空如也
R7-3 都是黑幕Python
2022-05-21
TA创建的收藏夹 TA关注的收藏夹
TA关注的人