另外一点:C语言无法在参数中传递数组,一切数组在函数参数传递时退化为指针,因此如果没有指针,数组将无法通过函数参数传递。 还有一点,在C语言中函数是一个指针,如果没有指针,就无法定义C语言函数,无法使用和调用C语言函数,更无法将函数作为一个变量传递。——换句话说,没有指针,C语言将没有函数,一个没有函数的语...
手写智能指针(类) 摘要:基础知识: 智能指针的设计与实现: 1.智能指针类将一个计数器与类指向的对象相关联,引用计数跟踪该类有多少个对象共享同一指针。 2.每次创建类的新对象时,初始化指针并将引用计数置为1; 3/当对象作为另一对象的副本而创建时,拷贝构造函数拷贝指针并增加与之相应的引用计数; 4.对一个...
简单地说,智能指针只是用对象去管理一个资源指针,同时用一个计数器计算当前指针引用对象的个数,当管理指针的对象增加或减少时,计数器也相应加1或减1,当最后一个指针管理对象销毁时,计数器为1,此时在销毁指针管理对象的同时,也把指针管理对象所管理的指针进行delete操作。 1、auto_ptr指针 C++11之前的智能指针是aut...
感觉可以移植到C,于是简单修改一下,让C喝口汤吧。而C++的链表无法移植到C,自然,C标准库就没有链...
摘要:lambda 能做到的,手写也能做到,但是 lambda 实在是太方便了,以至于对 C++ 开发产生了颠覆性的影响: 常用场景 STL _if 算法族的谓词 智能指针的自定义析构器 线程 API 的条件变量(对谓词进行特化处理) 临时制作回调函数、接口适配函数 条款 31:避免默认捕获 lambda 阅读全文 posted @ 2023-02-05 10:49...
手写grpc c++ 简单demo 自己动手写一个grpc c++的demo,自己写protobuf文件,编译文件和源码 实现一个最简单的grpc功能,客户端向服务端发送一个消息,服务端接收到消息后把结果返回给客户端 demo的文件结构 首先定义proto文件 官方教程:https://developers.google.com/protocol-buffers/docs/cpptutorial...
- [自己动手实现一个malloc内存分配器 | 30图](https://mp.weixin.qq.com/s/T1084cymO-XWuSVLnguMuw) - [现代C++之手写智能指针](https://mp.weixin.qq.com/s/YrCI5oCRha501BZSI59WeA) - [10张图22段代码,万字长文带你搞懂虚拟内存模型和malloc内部原理](https://mp.weixin.qq.com/s/yIjVZf...
我们都知道 C 语言中是没有智能指针概念的,因此在封装 C 适配层时需要将智能指针换行成 void* 类型指针,下面以 shared_ptr(string)共享智能指针为例进行介绍: 代码语言:cpp 复制 std::shared_ptr<std::string>&a_string;// std::shared_ptr 转 void*void*myData=(void*)a_string.get();// void* 转...
用模板实现的元编程框架 Thread 可移植的C++多线程库 Python 把C++类和函数映射到Python之中 Pool 内存池管理 smart_ptr 5个智能指针,学习智能指针必读,一份不错的参考是来自CUJ的文章: Smart Pointers in Boost,哦,这篇文章可以查到,CUJ是提供在线浏览的。中文版见笔者在《Dr.Dobb's Journal软件研发杂志》第...
33 C++ 中类成员的访问权限 34 什么是右值引用,跟左值又有什么区别? 35 面向对象的三大特征 36 说一说 c++ 中四种cast转换 37 C++ 的空类有哪些成员函数 38 对 c++ 中的smart pointer四个智能指针:shared_ptr,unique_ptr,weak_ptr,auto_ptr的理解 ...