
C/C++项目
文章平均质量分 87
好好的学习空间
这个作者很懒,什么都没留下…
展开
-
C语言利用epoll实现聊天室
通信模型:服务器端与客户端采用C/S模型,TCP连接。TCP服务端通信的常规步骤:(1)使用 socket()创建 TCP 套接字(socket)(2)将创建的套接字绑定到一个本地地址和端口上(Bind)(3)将套接字设为监听模式,准备接收客户端请求(listen)(4)等待客户请求到来: 当请求到来后,接受连接请求,返回一个对应于此次连接的新的套接字(accept)(5)用 accept 返回的...原创 2018-04-01 15:32:34 · 2932 阅读 · 0 评论 -
caffe源码学习记录(一)
参考自《21天实战caffe》及知乎:深度学习caffe的代码怎么读?caffe是由伯克利视觉和学习中心(BVLC)开发的基于C++/CUDA/python实现的深度学习框架。一. 特点:实现卷积神经网络架构(CNN)速度快,采用google的ProtoBuffer数据格式,提高效率完全开源,由C++语言编写caffe提供了一整套工具集,可用于训练、预测、数据预处理等。caffe自带一系列参考模型...原创 2018-05-03 19:22:42 · 415 阅读 · 0 评论 -
C++实现智能指针(一)
参考自《C5-C++ Primer》和实验楼相关实验。一. 智能指针概念智能指针的引入:C++中,通过new/delete这对运算符进行动态内存的管理。动态内存使用很容易出问题,因为确保在正确时间释放内存是很困难的。有时忘记释放内存,产生内存泄漏;有时在指针还引用内存时就释放了它,产生引用非法内存的指针。因此,为了更容易和安全地使用动态内存,C++11提供了智能指针(smart pointer)类...原创 2018-05-04 11:12:45 · 347 阅读 · 0 评论 -
C++实现智能指针(二)
一. 实现版本v2拷贝构造函数赋值操作符函数拷贝与赋值对于指针而言意味共享其所指的内存资源,对应于智能指针的实现就是mPointer成员指向同一块内存资源。默认情况下C++编译器会为我们定义的类生成拷贝构造函数和赋值操作符的实现,但是对于我们的智能指针而言,使用系统默认生成的赋值操作符会有问题。如下:{ // 语句块 SmartPointer<SomeClass> spclass...原创 2018-05-04 19:25:16 · 193 阅读 · 0 评论 -
C++实现智能指针(三)
一. 实现版本v3引用计数技术:每一个对象负责维护对象所有引用的计数值。当一个新的引用指向对象时,引用计数器就递增,当去掉一个引用时,引用计数就递减。当引用计数到零时,该对象就将释放占有的资源。引用计数需要存储在被引用的资源对象里,一个资源对象对应一个引用计数, 当其引用计数为0时,资源对象可以被销毁。需要修改以下函数中实现计数功能:接收不同对象类型的构造函数:这个构造函数实现,比较简单,直接将引...原创 2018-05-04 20:02:37 · 457 阅读 · 0 评论 -
C++实现智能指针(四)
解引用指针的解引用可以使用*运算符和->运算符,C++语言的运算符重载机制,为我们满足上述需求提供了技术支持。重载*运算符时其返回的应该是智能指针所指的资源对象实体, 而->运算符则应该返回的是智能指针指针所指的资源对象的内存地址// 重载*和-> 运算符 /*重载运算符* */ T& operator* () const {return *mPoint...原创 2018-05-04 20:35:00 · 238 阅读 · 0 评论 -
排序算法
常见排序算法c++总结快速排序#include <iostream>#include<vector>using namespace std;void QuickSort(int arr[], int first, int end);int OnceSort(int arr[], int first, int end);int main(){ int...原创 2018-09-16 16:40:34 · 248 阅读 · 0 评论