ylww

随笔仅作学习记录,请辩证参考!!!

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
  166 随笔 :: 0 文章 :: 0 评论 :: 11673 阅读

10 2022 档案

摘要:寄存器存储在CPU中 例子: 转为汇编语言: 为什么不能写a+b = c; a+b的结果送入了寄存器,它没有确定的位置,所以不能更改。 而int c = a+b; c有固定的内存,可以更改。 其中:类型转换并不一定会生成临时变量(准确来说对于c语言类型来说,一般不考虑生成临时变量这说法。c++中由于 阅读全文
posted @ 2022-10-28 18:49 理想主义者光芒万丈 阅读(16) 评论(0) 推荐(0) 编辑

摘要:简单来说,在两个构造函数中都用了explicit关键字时,隐式构造无效。(string a = "adg"或者 const string & a= "dsss"都是隐式构造的。) 若不加关键字,都有效。 深入理解: https://www.jb51.net/article/54773.htm 然而当 阅读全文
posted @ 2022-10-28 17:20 理想主义者光芒万丈 阅读(12) 评论(0) 推荐(0) 编辑

摘要:自己写的代码: 参考老师写法后: 运行结果: 阅读全文
posted @ 2022-10-28 15:39 理想主义者光芒万丈 阅读(22) 评论(0) 推荐(0) 编辑

摘要:容器 补充: 阅读全文
posted @ 2022-10-27 14:40 理想主义者光芒万丈 阅读(46) 评论(0) 推荐(0) 编辑

摘要:stack是栈堆容器,是一种“先进后出”的容器。 阅读全文
posted @ 2022-10-27 12:05 理想主义者光芒万丈 阅读(19) 评论(0) 推荐(0) 编辑

摘要:默认是基于vector实现 阅读全文
posted @ 2022-10-27 11:30 理想主义者光芒万丈 阅读(17) 评论(0) 推荐(0) 编辑

摘要:首先,毫无疑问,即使是常量(字符串常量)也是要占据空间的。 一般来说,基本类型(整型、字符型等)常量会在编译阶段被编译成立即数,占的是代码段的内存。(代码段是只读的,而且不允程序员获取代码段的地址,所以在c++中,尽量不为const分配数据段的内存,但是一旦取cosnt的地址,就不得不分配了,但是读 阅读全文
posted @ 2022-10-26 21:33 理想主义者光芒万丈 阅读(148) 评论(0) 推荐(0) 编辑

摘要: 阅读全文
posted @ 2022-10-26 18:32 理想主义者光芒万丈 阅读(13) 评论(0) 推荐(0) 编辑

摘要: 阅读全文
posted @ 2022-10-26 17:57 理想主义者光芒万丈 阅读(14) 评论(0) 推荐(0) 编辑

摘要:pair实际是个结构体。 set.find(elem)这个功能函数,若是其中elem并不存在,那么返回的迭代器等于set.end(). 阅读全文
posted @ 2022-10-25 20:25 理想主义者光芒万丈 阅读(19) 评论(0) 推荐(0) 编辑

摘要:引子 在set的类模板中,插入元素是会自动排序的,那么这是如何实现的呢。 默认的set<int> setl; 这种写法,他会调用默认的less函数对象 less函数对象实现比较,为排序提供依据,set<int, less<int>> set1; (由小到大排序,即通过迭代器输出是,由小到大) gre 阅读全文
posted @ 2022-10-25 17:50 理想主义者光芒万丈 阅读(34) 评论(0) 推荐(0) 编辑

摘要:示例: 运行结果: 运行结果: 这说明了,这里的临时变量生命周期很短,它仅生存在push_back()的括号之内。说是即生即死也不为过。 以上两种情况会带来效率问题,因此引入了变参模板和完美转发: 对类的写法稍作调整: 主函数中: 运行结果: 将19,与“王大锤”这两个参数直接拿去构造对象(通过构造 阅读全文
posted @ 2022-10-22 14:48 理想主义者光芒万丈 编辑

摘要:it+1也不可以写,只能++. 阅读全文
posted @ 2022-10-22 10:19 理想主义者光芒万丈 阅读(19) 评论(0) 推荐(0) 编辑

摘要:vector在前端插入元素,所有元素都将往后回退一个。 deque在前端插入元素,即在前端直接插入。这是通过多个数组来实现的。 continue是指跳过当前这一次的continue下面的循环体内容。 如果是for循环的话: for(int i =0; i<n; i++){ 循环体 } erase(i 阅读全文
posted @ 2022-10-20 21:15 理想主义者光芒万丈 阅读(21) 评论(0) 推荐(0) 编辑

摘要:动态数组是指会自动扩充空间,其采用的也是动态内存。 1. vector是表示可变大小数组的序列容器.(因此其空间存在于堆上) 2. 就像数组一样,vector也采用的连续存储空间来存储元素,也就是意味着可以采用下标对vector的元素进行访问,和数组一样高效,但是又不像数组,它的大小是可以动态改变的 阅读全文
posted @ 2022-10-20 12:26 理想主义者光芒万丈 阅读(29) 评论(0) 推荐(0) 编辑

摘要:传统的错误处理机制 通过函数的返回值来处理错误。 异常处理的基本语法 异常接口声明 异常类型和生命周期 以下代码中,形参error能够重复出现是因为,error作用域仅仅在catch(){ } 之中。 异常和继承 虚函数一般是用父类指针来接的,但是如果父类引用了子类的对象,也是可以实现多态机制的。 阅读全文
posted @ 2022-10-18 15:35 理想主义者光芒万丈 阅读(19) 评论(0) 推荐(0) 编辑

摘要:return是如何将值返回给主调函数的 我们知道,被调函数运行结束后才会返回主调函数,但是被调函数运行结束后系统为被调函数中的局部变量分配的内存空间就会被释放。也就是说,return 返回的那个值在被调函数运行一结束就被释放掉了,那么它是怎么返回给主调函数的呢?事实上在执行 return 语句时系统 阅读全文
posted @ 2022-10-17 18:36 理想主义者光芒万丈 阅读(1095) 评论(0) 推荐(0) 编辑

摘要:(视频参考:b站up主: c语言小白进阶之路 c语言文件操作) 文件分类:文本文件和二进制文件 文本文件:保存的时候,每一个字符对应一个字节 二进制文件:按照二进制编码保存的文件 文件操作:打开,写入,读取,关闭 1.打开文件 fopen() FILE *fopen(const char* file 阅读全文
posted @ 2022-10-16 00:52 理想主义者光芒万丈 阅读(250) 评论(0) 推荐(0) 编辑

摘要:类模板使用总结 阅读全文
posted @ 2022-10-13 19:17 理想主义者光芒万丈 阅读(14) 评论(0) 推荐(0) 编辑

摘要:一般来说,能不用友元就不用友元。 友元函数并不是类的内部函数,因此写法颇有规则: 这里的必须写成是为了统一形式,并不是说少写了T,编译器一定不会识别。 例如,(1)中addA()中的两个引用是可以不写<T>的,又如(3)中addA<int> 这里不写<int>是可以的。 此外,如果类模板与友元函数用 阅读全文
posted @ 2022-10-13 17:48 理想主义者光芒万丈 阅读(53) 评论(0) 推荐(0) 编辑

摘要:1.为什么要使用类模板 4.继承中类模板的使用 对于第三种情况: 运行结果: 如果,类模板的实现与主函数在同一个文件中,那么与正常函数之间的用法是相同的,包含头文件即可。 但是一般来讲,类模板头文件h,类的实现cpp,与主函数之间是相互分离的。此时如果主函数仅仅包含类模板头文件, 是会发生编译错误的 阅读全文
posted @ 2022-10-13 11:43 理想主义者光芒万丈 阅读(25) 评论(0) 推荐(0) 编辑

摘要:按照之前所学,是需要根据形参类型的不同来重载函数的。但是根据函数模板则可以解决这个繁琐的问题。 调用时才区分类型。 主函数中: 补充: 主函数中: 6.函数模板的调用机制 阅读全文
posted @ 2022-10-12 09:13 理想主义者光芒万丈 阅读(16) 评论(0) 推荐(0) 编辑

摘要:多态 多态机制的实现就是通过虚函数。 虚函数的原理 虚函数表 单个类的虚函数表 以上结论通过以下代码测试: 运行结果: 证明内存就是如上分布。 通过调用命令行同样可以证得此结论: 使用继承的虚函数表 此时: 代码验证: 运行结果: 使用多重继承的虚函数表 vs中,多重继承时,会继承多个虚函数表(实际 阅读全文
posted @ 2022-10-10 10:14 理想主义者光芒万丈 阅读(21) 评论(0) 推荐(0) 编辑

摘要:const对象只能调用类的const方法,一般对象可以调用所有对外方法。 类的const方法实现内部:不能改变类的数据成员值,但是若有形参是此类的对象,且不是const型对象,那么通过这个对象调用的数据成员的值是可以改变的。 类中的+,-,>,<等运算符重载方法的第一个参数是this指针。若有两个c 阅读全文
posted @ 2022-10-07 18:05 理想主义者光芒万丈 阅读(28) 评论(0) 推荐(0) 编辑

摘要:[ ]字符串也能作下标: 尽量不要在代码中写裸常量,可用宏定义,若是整型可以采用枚举类型(老标准的枚举类型中的修饰词可以被取出来当整数直接使用,即不通过定义一个变量来使用。 但枚举类型新标准中,得这样定义(限制与整数之间的通用,但若进行强制类型转换是可以的) enum class 类型名称{ //必 阅读全文
posted @ 2022-10-03 11:04 理想主义者光芒万丈 阅读(22) 评论(0) 推荐(0) 编辑

摘要:一般先定义函数,后进行友元。 阅读全文
posted @ 2022-10-01 08:36 理想主义者光芒万丈 阅读(16) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示