C++
油油灰
这个作者很懒,什么都没留下…
展开
-
设置进程工作目录、进程终止处理程序
设置进程工作目录和终止处理程序原创 2022-09-09 18:23:03 · 158 阅读 · 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 · 126 阅读 · 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 · 111 阅读 · 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 · 160 阅读 · 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 · 117 阅读 · 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 · 210 阅读 · 0 评论