c++
文章平均质量分 59
小牛不爱吃糖
计算机业余爱好者
展开
-
运算符优先级(全)
一张表展示全部的运算符以及他们的优先级关系。原创 2023-09-25 22:04:30 · 102 阅读 · 0 评论 -
C++的四种类型转换const_cast、static_cast、dynamic_cast、reinterpret_cast
本文主要讲:隐式类型转换与C语言的显示类型转换,C++四种显示类型转换(重点),const_cast、static_cast、dynamic_cast、reinterpret_cast。原创 2023-09-19 19:07:40 · 195 阅读 · 0 评论 -
C++中malloc、free和new、delete一文吃透
主要讲malloc/free和new/delete的区别和底层实现,本文应该是讲的很详细了,只看这一篇文章就好啦!原创 2023-09-16 18:35:03 · 1263 阅读 · 0 评论 -
delete和delete[]的区别
对于简单数据类型两则都可以。没有区别。但是对于对象类型的数组,两则有着明显的区别。且使用delete可能会带来严重的问题。原创 2023-03-14 17:35:21 · 109 阅读 · 0 评论 -
C++纯虚函数
C++纯虚函数是虚函数的特殊一类。原创 2023-01-24 16:26:07 · 61 阅读 · 0 评论 -
new和malloc的区别及底层实现原理
new会先调用operator new函数,申请足够的内存(通常底层使用malloc实现)。然后调用类型的构造函数,初始化成员变量,最后返回自定义类型指针。delete先调用析构函数,然后调用operator delete函数释放内存(通常底层使用free实现)。原创 2023-01-11 16:50:23 · 271 阅读 · 0 评论 -
STL中vector的扩容机制
vector的特性类似于数组,在内存空间中拥有一段连续的空间。当插入新的元素内存不够时,会自动扩容,不同的编译器扩容的倍数也不一样,通常为原容量的两倍。扩容之后将原来的元素拷贝到新的内存空间上,然后把原来的内存空间释放掉原创 2023-01-06 21:17:52 · 1061 阅读 · 0 评论 -
C++虚函数的实现原理
虚函数表的实质是一个指针数组,存放的是一个对象的虚函数的入口地址。对于一个派生类来说,他会继承基类的虚函数表,同时增加自己的虚函数入口地址。如果派生类对基类的虚函数进行了重写,那么继承过来的虚函数入口地址将被派生类的重写虚函数入口地址替代。原创 2023-01-06 14:56:04 · 126 阅读 · 0 评论 -
C语言中的const关键字用法
const常量,修饰变量说明变量不可以被改变。重点区分常量指针和指针常量。原创 2022-12-13 20:04:17 · 154 阅读 · 0 评论 -
代码纯享:Linux下epoll实现回射服务器
简介,使用epoll和socket在Linux系统里实现一个简单的回射服务器,客户端发什么内容,服务器端就回客户端什么内容。原创 2022-12-10 00:49:41 · 201 阅读 · 0 评论 -
C++友元类和友元函数
在C++中,我们使用类对数据进行了隐藏和封装,类的数据成员一般都定义为私有成员,成员函数一般都定义为公有的,以此提供类与外界的通讯接口。但是,有时需要定义一些函数,这些函数不是类的一部分,但又需要频繁地访问类的数据成员,这时可以将这些函数定义为该函数的友元函数。除了友元函数外,还有友元类,两者统称为友元。原创 2022-12-04 20:48:35 · 516 阅读 · 0 评论 -
Linux下生产者消费者模型--及pthread_cond_signal出现的问题
pthread_cond_signal存在BUG。如果真的pthread_cond_signal只是唤醒了一个线程,就不会发生这种情况,事实证明pthread_cond_signal函数是唤醒一个或者多个线程,而不是只唤醒一个。原创 2022-12-01 10:27:16 · 550 阅读 · 0 评论 -
pthread_cancel杀死线程有条件
杀死进程我们有kill指令和kill函数,且进程是依靠信号来杀死进程的,但是线程不同,杀死线程我们用到pthread_cancel函数,它不是依靠信号来杀死线程的。但是pthread_cancel也不是什么线程都可以杀死。原创 2022-11-29 14:36:45 · 525 阅读 · 0 评论 -
C++中的四个智能指针:shared_ptr,unique_ptr,weak_ptr,auto_ptr
智能指针的作用是管理一个指针,因为存在一下这种情况:申请的空间在函数结束时忘记释放,造成内存泄漏。使用智能指针可以很大程度上的避免这个问题,因为智能指针就是一个类,当超出了类的作用域时,类会自动调用析构函数,析构函数会自动释放资源。所以智能指针的作用原理就是在函数结束时自动释放内存空间,不需要手动释放内存空间。原创 2022-11-12 14:16:51 · 261 阅读 · 0 评论