c++
伪砖家1号
这个作者很懒,什么都没留下…
展开
-
C++知识点总结1
1.C++有了malloc和free为什么还要new和delete?第一:malloc和free属于c++的标准库函数,new和delete属于c++的运算符,他们都用于申请动态内存和释放内存。第二:对于非内部的数据对象(比如类对象),只用malloc和free无法满足动态对象的要求。这是因为对象在创建的同时需要自动执行构造函数,而在销毁对象前需要自动执行析构函数,而malloc和free属于...原创 2019-02-24 22:37:27 · 128 阅读 · 0 评论 -
c++知识点总结2
1.int * const p 与 const int *p的区别int *const p:常量指针,p是一个常量类型的指针,不能修改这个指针的指向,但是这个指针所指向地址上的值可以改变const int *p:指向常量的指针,定义了一个指针指向一个常量,不能通过指针来修改这个指针所指向的值2.抽象类的派生类实例化的必要条件是什么?所有的纯虚函数都要被实现,有一个未实现派生类都不能...原创 2019-02-28 20:04:38 · 172 阅读 · 0 评论 -
c++内存分配小结
1.c++内存分配有如下几个部分:栈区(stack):由编译器自动分配与释放,存放为运行时函数分配的局部变量、函数参数、返回数据、返回地址等。其操作类似于数据结构中的栈。堆区(heap):一般由程序员自动分配,如果程序员没有释放,程序结束时可能有OS回收。其分配类似于链表。全局区(静态区static):存放全局变量、静态数据、常量。程序结束后由系统释放。全局区分为已初始化全局区(data)...原创 2020-06-30 09:47:01 · 123 阅读 · 0 评论 -
c++常见内存错误总结
发生内存错误是件非常麻烦的事情,编译器不能自动发现这些错误,通常是在程序运行时才能捕捉到。而这些错误大多没有明显的症状,时隐时现,增加了改错的难度。常见的内存错误及其对策如下:1.内存分配未成功,却使用了它编程新手常犯这种错误,因为他们没有意识到内存分配会不成功。常用解决办法是,在使用内存之前检查指针是否为NULL。如果指针p是函数的参数,那么在函数的入口处用assert(p...原创 2020-06-30 09:45:26 · 310 阅读 · 0 评论 -
c++线程池简单实现
多线程技术主要是解决单个处理器单元内多个线程的执行问题,由此诞生了所谓的线程池技术。线程池基本部分组成:1.线程池管理器(Thread Pool):负责创建、管理线程池,最基本的操作为:创建线程池、销毁线程池、增加新的线程任务;2.工作线程(Worker):线程池中的线程,在没有任务时会处于等待状态,可以循环执行任务;3.任务队列(Tasks Queue):未处理任务的缓存队列,提...原创 2020-06-30 09:46:21 · 510 阅读 · 0 评论 -
c++父类的私有成员能否继承
1.子类可以间接访问父类私有成员父类的私有成员函数和私有成员变量一样,只有该类内部的其他成员函数可以调用,对外是封蔽的。子类继承了父类的共有函数,且父类的公有函数调用了其内部的私有函数,此时子类调用父类的公有函数便能访问父类的私有成员函数了。#include <iostream>using namespace std;class A{ public: v...原创 2019-08-14 00:13:11 · 8059 阅读 · 0 评论