- 博客(20)
- 收藏
- 关注
原创 09 C++强制类型转换
类型操作符:static_cast|reinterpret_cast|dynamic_cast|const_cast//
2025-01-10 15:30:00
367
原创 Tips.08 域解析作用符
在C++中,两个冒号称为作用域解析运算符(Scope Resolution Operator),用于访问命名空间、类、结构体、枚举等成员。
2025-01-09 14:45:00
225
原创 08 STL(标准模板库)
与红黑树不一样,对于堆而言,comp(a,b)若返回true,表示a是b的孩子(为了尽可能统一,对于红黑树而言,返回true,a是b的左孩子,对堆而言,a是b的孩子,少一个左字而已~~)因此对于less而言,a<b返回true,因此a是b的左孩子,所以是大根堆,所以遍历时是降序哦!对于仿函数less,假设创建一个对象comp,调用comp(a,b),若返回true,表示在树中,对于仿函数less,假设创建一个对象comp,调用comp(a,b),若返回true,表示在树中,与vector最大的区别是,
2025-01-09 14:00:00
537
原创 Tips.07 对象及其成员在内存中的位置
对象 的 内存(指一个对象在内存中拥有的东西),只存储。类 的 静态成员,在数据区。虚函数表,在代码段中哦。
2025-01-08 13:30:00
220
原创 Tips.06 函数指针void (Fun) (void)
typedef的功能,就是定义了PTR_FUN的类型,后面就方便使用了。从指针层面上理解,函数的函数名实际上是一个指针,该指针指向。
2025-01-07 12:45:00
398
原创 Tips.05 CC++(文件)读写大总结
c语言提供三种,I.格式化输入输出(跳空白符,不丢) II.单个字符 (全收) III.一行(读到’\n’并丢’\n’)c++也提供(至少)三种,用于针对不同情形 I.cin>> (跳空白符,不丢) II.cin.get() (不跳空白) III.cin.getline()和getline(),分别为char[]和string效率:C++高。
2025-01-06 12:30:00
897
原创 Tips.04 const的注意事项
需要const的引用,传非const。可以,因为非const可以加上const限定。需要参数为const,传非const。可以,因为非const可以加上const限定。可以,因为只是值传递,不会修改const。需要const,传const。可以,因为const匹配。可以,简单的值传递。需要参数非const,传const。可以,因为const匹配。的限定,表示p只能指向某个值,不能指向其他位置。的限定,表示p所指的内容不能被修改,,只能调用const限定的函数成员!,因为会脱掉const限定。
2025-01-05 12:30:00
377
原创 Tips.03 单个对象内成员的初始化顺序
构造函数执行:I.初始化阶段 II.函数体执行阶断类内初始化 相当于 初始化列表,执行在构造函数体之前,即阶段 I。而后才执行函数体,即阶段 II。
2025-01-04 12:00:00
301
原创 09STL(标准模板库) - 2
set和multiset是一个的容器,其中set的元素是唯一的,multiset同一个值可以出现多次,采用实现。需要包含头文件插入和删除比vector快set集合中元素唯一不支持随机存储,不支持直接修改元素(红黑树),只能通过查找效率logn迭代器访问(可能是按照树的方法访问)!!内容详见Tips。
2025-01-03 12:30:00
429
原创 Tips.02 初始化列表
定义:构造函数除了有名字,参数列表,函数体之外,还可以有初始化列表,初始化列表以冒号开头,后跟一系列以逗号分隔的初始化字段概念上说,构造函数的执行会分为两个阶段 : I.初始化阶段 II.计算阶段I.初始化阶段:所有类类型的成员都会在此阶段初始化,即使没出现在初始化列表中II.计算阶段:执行函数体内的操作。
2025-01-03 09:18:45
556
原创 08 STL(标准模板库)-1
与红黑树不一样,对于堆而言,comp(a,b)若返回true,表示a是b的孩子(为了尽可能统一,对于红黑树而言,返回true,a是b的左孩子,对堆而言,a是b的孩子,少一个左字而已~~)因此对于less而言,a<b返回true,因此a是b的左孩子,所以是大根堆,所以遍历时是降序哦!与vector最大的区别是,变参模版 -使emplace可以接受任意参数,可以适用于任意对象的构建。同样,迭代器删除元素的代码跟vector基本相同!中加以管理的容器,尾部加元素迅速,其余位置费时。,可以高效的插入和删除元素!
2025-01-02 12:30:00
2140
原创 Tips.01 extern关键字
在别的文件中。当你想在一个文件中使用另一个文件中定义的变量或函数时,可以使用extern关键字。这样编译器就知道这个变量或函数在其他地方定义了,从而避免重复定义错误。例如,有两个文件:main.c和utils.c。在utils.c中定义了一个函数int add(int a, int b),在main.c中想调用这个函数,可以使用extern关键字声明这个函数,如:extern int add(int a, int b)。再比如,有个.h头文件中声明了 extren int count;
2025-01-01 12:45:00
158
原创 07异常处理
C++的异常处理机制使得异常的引发和异常的处理不必在同一个函数中,这样底层的函数可以着重解决具体问题,而不必过多的考虑异常的处理。上层调用者可以再适当的位置设计对不同类型异常的处理。 异常是专门针对抽象编程中的一系列错误进行处理的,C++中不能借助函数机制实现异常因为栈结构的本质是先进后出,依次访问,无法进行跳跃,但错误处理的特征却是遇到错误信息就想要转到若干级之上进行重新尝试,如图:一个函数中,这样底层的函数可以着重解决具体问题,而不必过多的考虑异常的处理。
2024-12-31 12:00:00
783
原创 02继承与派生
公有继承时, 可以作为 处理,是 的子类型即,以public继承时,子类对象可以代替父类对象处理(如形参传递)【注意前提,public继承】具备单向传递性。只能子替父,不能父替子!原理:子类型可以通过向上转型,变为父类型,通常由编译器处理,这个过程中相当于被“瘦身”了。
2024-12-27 12:00:00
1093
原创 01类与对象
类,是一种特殊的“数据类型”,不是一个具体的数据,构成为方法+数据,设计时,应当关注对外提供的功能, 先关注对外(public)提供的接口,设计好之后,再考虑内部(private)需要实现哪些功能。例:定义一个“人类“。对外功能:吃,睡,玩,工作。而后再实现内部数据或者方法,用于实现对外的方法。
2024-12-26 09:40:19
1118
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人