
C++
油油灰
这个作者很懒,什么都没留下…
展开
-
设置进程工作目录、进程终止处理程序
设置进程工作目录和终止处理程序原创 2022-09-09 18:23:03 · 210 阅读 · 0 评论 -
memcpy()/memmove()函数实现
两个函数都是将源地址开始的若干个字节复制到目的地址,区别在于memcpy()无法处理区间重叠; 这里处理区间的处理方式位,当目的地址大于源地址就反向拷贝,反之就正向拷贝; void* mymemcpy(void* src,void* dst,int n) { char* psrc=(char*)src; char* pdst=(char*)dst; if(psrc==0||pdst==0)return (void*)0; if(pdst>psrc) {原创 2020-08-07 20:23:25 · 155 阅读 · 1 评论 -
玩具版C++ 智能指针 unique_ptr的实现
#include<algorithm> #include<iostream> #include<vector> template<class T> void defaultfunc(T* p) { if (p) delete(p); } template<class T,class D=decltype(defaultfunc<T>)*> class myunique_ptr { public: explicit myun原创 2020-07-19 14:07:38 · 158 阅读 · 0 评论 -
C++11 实现线程池
头文件,threadpoll类定义; #ifndef THREADDPOOL #define THREADDPOOL #include <vector> #include <utility> #include <queue> #include <thread> #include <functional> #include <mutex> #include<condition_variable> using namespac原创 2020-07-03 13:06:35 · 212 阅读 · 0 评论 -
单例模式C++实现
1. 饿汉模式 class Singleton { private: static Singleton instance; Singleton(){std::cout<<"construct "<<std::endl;} Singleton(const Singleton&); public: ~Singleton(){std::cout<<"destroy"<<std::endl;}; s原创 2020-07-02 20:14:57 · 145 阅读 · 0 评论 -
shared_ptr循环引用
简单的测试一下出现循环引用的情况,这会导致程序内泄露。 #include <iostream> class child; class parent { public: shared_ptr<child>p1; ~parent() { cout<<"parent destroy"<<endl; ...原创 2020-03-07 09:56:33 · 250 阅读 · 0 评论