c++
LeBron James m
这个作者很懒,什么都没留下…
展开
-
函数对象,仿函数用法
作用:可以利用仿函数,可以改变排序规则(举例)原创 2022-09-13 11:31:42 · 152 阅读 · 1 评论 -
转换函数的用法
转换函数(conversion function)是一种特殊类型的类成员函数。它定义了一个由用户定义的转换,以便把一个类对象转换成某种其他的类型。在类的声明中,通过指定关键字operator,并在其后加上转换的目标类型后,我们就可以声明转换函数。同样也可以把转化成字符串(由自己定义)标准库中的转换函数举例。原创 2022-09-12 22:04:07 · 997 阅读 · 0 评论 -
多态,虚函数,纯虚函数
多态是C++面向对象三大特性之一多态分为两类静态多态和动态多态区别:non-virtual函数:你不希望derived class重新定义(override)它。virtual函数:你希望derived class重新定义它,况且你对它有默认定义在多态中,通常父类中虚函数的实现是毫无意义的,主要都是调用子类重写的内容。因此可以将虚函数改为纯虚函数pure virtual 函数:你希望 derived class 一定要重新定义(override 覆盖它),你对它没有默认定义。纯虚函数语法:当类中有了纯虚函原创 2022-09-12 20:29:09 · 365 阅读 · 0 评论 -
c++栈 堆 ,动态分配内存,回收动态分配的内存
内存泄漏:以上代码会出现内存泄漏,因为当作用域结束,p所指向的heap object仍然存在,但指针p的生命却结束了,作用域之外再不会看到p.c2便是所谓static Object,其生命在作用域结束之后仍然存在,直到整个程序结束。第二步删除的其实才是字符串 ,字符串其实本身就是一个指针,用来存放分配好的内存的地址。c3是全局对象,其生命周期是整个程序结束之后才会结束,可以把它当作静态对象。p 所指的便是 heap Object,其生命在它被delete 之际结束。删除动态分配的内存,一定要搭配好。原创 2022-09-09 17:58:19 · 420 阅读 · 0 评论 -
c++拷贝构造拷贝赋值,浅拷贝,深拷贝问题
如果类中有拷贝指针,需要重写拷贝构造函数(深拷贝),不重写的话直接是浅拷贝(没有真正分配内存空间,两个指针指向同一块内存)。这样会导致内存泄漏问题。2.如果没有这个检测代码,会导致错误,会导致自己先把自己删除,因为它的第一件事就是delete。下边说一下拷贝拷贝构造拷贝赋值,浅拷贝,深拷贝问题。1.如果是自己给自己赋值,这样检测可以提高效率。原创 2022-09-09 15:30:47 · 278 阅读 · 0 评论 -
c++ 重载<<操作符
c++重载原创 2022-09-09 12:15:51 · 3119 阅读 · 0 评论 -
c++头文件中的防卫式声明
c++ 防卫式声明的作用,宏定义,编译器指令progma once原创 2022-09-09 11:57:09 · 379 阅读 · 0 评论