- 博客(7)
- 收藏
- 关注
原创 c++_primer_chapter16
函数模板函数模板允许定义一个通用的函数,它可以接受任意类型的参数。具体类型在函数调用时由编译器推导或指定。类模板类模板允许定义一个通用的类,它的成员函数和数据成员可以根据类型参数的不同而表现不同。当在模板类中定义友元模板函数时,因为在类中已经知道了模板实参,所以有的成员函数可以不需要指定模板参数例如:上面的构造函数声明中,可以不需要指定出,但是友元函数不指定的话,无法分辨是正常函数还是模板函数。一般可以用两种方法直接定义(更推荐)在类里面直接定义出该友元函数的内容:前向声明二、引用折叠
2024-10-01 00:55:13 640
原创 c++_primer_chapter15
以Animal类为例,当派生类需要重写基类的某个函数时,可以将函数定义为虚函数,以此实现多态性。关键字为virtual而派生类可以定义同名函数实现不同内容通过override(可以不写,但最好写上)动态绑定(Dynamic Binding)是面向对象编程中实现多态性的重要机制。它允许程序在运行时根据对象的实际类型选择合适的函数实现,而不是在编译时决定。这种机制使得继承和虚函数的使用更加灵活。// 输出 "Woof!// 输出 "Meow!// 记得释放内存上面的例子中,myDog和。
2024-09-25 00:20:01 371
原创 c++_primer_chapter14
执行a+b其实是隐形执行了,隐形调用了一个函数a作为成员函数的时候执行运算符时,函数自带一个this指针,因此函数只需要一个参数需要多个参数并且需要本身参数时。需要用到友元函数。.*?
2024-09-25 00:17:08 868
原创 c++_primer_chapter13
如果一个类定义了拷贝、赋值、销毁之一,通常也应该定义其余两个五法则扩展了三法则,引入了移动语义。在 C++11 中,移动语义使得对象可以通过移动而不是拷贝来转移资源,从而提高效率。如果一个类定义了以上五个之一,通常也应该定义其余的四个。
2024-09-25 00:12:47 911
原创 c++_primer_chapter12
为什么需要动态内存动态内存的问题以往的动态内存中,由程序员建立和销毁动态内存,容易出现以下情况导致内存泄漏。
2024-09-12 22:37:35 275
原创 c++_primer_chapter11
基于红黑树(red-black-tree)时间复杂度都在O(log n)基于哈希表(hash)时间复杂度都在O(1),最坏为O(n)
2024-09-12 22:35:53 255
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人