- 博客(13)
- 收藏
- 关注
原创 含虚基类的类构造顺序深度理解
前文笔者探讨验证了关于C++虚函数调用过程的一些概念的深度理解,希望能帮助你更了解cpp或激起你探索cpp的兴趣,那便是笔者的更新动力。笔者将探讨验证关于。
2024-08-04 14:50:18
1927
原创 C++虚函数调用过程深度理解(二)
在上文中,笔者探讨验证了关于虚函数调用过程的一些理解。但回顾后却发现仍然略过了一些细节,这部分细节是关于。上文有所涉及,但没有深入。接下来,笔者将继续验证这部分细节。菱形继承。
2024-08-02 18:33:48
538
原创 C++虚函数调用过程深度理解
笔者在前一篇文章中分享了一些关于cpp菱形继承的理解。但是对于cpp虚函数的理解还有些许的模糊,知道一些内容,但没有完全详尽。接下来笔者将根据的部分示例代码验证一些关于以及的一些深度理解。
2024-08-01 17:11:41
631
原创 c++含有纯虚函数的虚基类是否能构造?
笔者工作中有很多类派生自一个虚基类,但是这些派生类又有很多操作是大致相同,尤其是这些类都不能拷贝,所以需要删除拷贝构造函数和拷贝赋值运算符。最直接的想法是在虚基类里面删除拷贝构造函数和拷贝赋值运算符。但我想因为虚基类不能实例化,那是否可以定义常规构造函数常规构造函数移动赋值运算符呢?经过验证得到了答案。虚基类能构造函数拷贝构造函数拷贝赋值运算符虚基类未实现纯虚函数能被派生类实例化手动定义所需需要用到的这点值得进一步讨论。
2024-07-31 16:02:03
315
原创 浅谈C++智能指针
浅谈C++智能指针 语言上因为没有内存回收机制,所以需要使用者手动释放内存。但是,有时候我们可能会忘了将某个指针指向的内存释放掉,于是就造成了内存泄漏。为了改善或解决这个问题,C++11引入了智能指针对象,通过智能指针对象来管理这个要释放的内存。 智能指针主要通过引用计数机制来管理这个内存指针,引用计数为0的时候即内存不再被使用了,智能指针会帮我们释放掉这个内存。C++11引入的智能指针一共有下列几类:shared_ptr 共享指针,共享管理内存指针,引用计数为0时释放内存。weak_ptr
2021-10-14 17:46:08
199
原创 浅谈std::function
浅谈std::functionstd::function是C++标准库(C++11以后)提供的一个关于函数调用的模板类,以提供对函数式编程的支持。在C++里面,它常用来绑定回调函数,绑定?是的,它经常结合std::bind来使用。下面介绍下它的常用用法以及一些可能会遇到的坑。常用用法1、绑定普通全局函数,静态函数。2、绑定类的静态函数。3、绑定类的成员函数,通过类对象。4、绑定类的成员函数,通过类指针。5、绑定类的成员函数,通过智能指针对象。6、绑定类的成员函数,有入参,参数通过占位符绑定到
2021-10-14 11:48:20
894
原创 new深入详解、linux内核
1、前言 最近在阅读grpc的cpp部分源码时,发现了一种以前笔者未见到过的new用法,百度一番后,学习到了。故此,以笔者个人理解,简单谈一下new内存分配及相关的知识;2、正文#include <iostream>#include <new>#include <string>#include <memory>#include <limits.h>#pragma pack(1)class Test { public:
2021-07-15 18:58:10
551
原创 Linux设置进程自启动(systemd,init)
Linux设置进程自启动(systemd,init)一、介绍 首先,你能来到这里说明你已经浏览了很多帖子,真正急切地渴望得到具体答案。话不多说,直接开始我们的正文吧!目前市面上各种发行版linux操作系统,1号进程基本已经替换成systemd进程,在较早版本的linux,1号进程是init进程。 所以,下面主要介绍通过systemd进程拉起我们自己进程的方式,再附带传统的init进程脚本拉起方式;二、systemd进程拉起方式 systemd进程拉起的方式,主要是在启机时执行/etc/syste
2021-03-11 20:14:21
4775
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人