C/C++
文章平均质量分 58
bazingaz
这个作者很懒,什么都没留下…
展开
-
简单sharedptr
#include<iostream> using namespace std; template<class T> class SharedPtr { private: T* ptr_; int* pCount_; public: SharedPtr(T* p) : ptr_(p), pCount_(new int(1)) {} SharedPtr(SharedPtr& s) { ptr_ = s.ptr_; .原创 2020-06-04 15:41:32 · 173 阅读 · 0 评论 -
type_traits
#include namespace namespace269 { /** 2两个空白类,没有任何成员,不会带来额外负担,却能通过类型代表真假,可以用于函数特化参数 */ struct __true_type { }; struct __false_type { }; template struct __type_traits {原创 2012-12-10 22:05:57 · 2229 阅读 · 0 评论 -
stl template
#include #include #include using namespace std; void test_macro() { #if defined(__sgi) cout<<"__sgi"<<endl; #endif // case 2 #ifdef __STL_NO_DRAND48 cout << "__STL_NO_DRAND48 defined" << e原创 2012-12-10 22:13:02 · 486 阅读 · 0 评论 -
iterator_traits
#include using namespace std; ///////////////////////////////////////////////////////////////////////////////// interator type tags struct my_input_iterator_tag{}; struct my_output_iterator_tag{};原创 2012-12-10 21:55:41 · 420 阅读 · 0 评论 -
list sort
while (!empty()) { //把*this的第一个元素移到carry中,由于carry原来是空的,所以现在carry有了一个元素, //而*this则少了一个元素,每次循环*this都会少一个元素,直到空了为止 carry.splice(carry.begin(), *this, begin()); //对counter数组中最前面的非空项进行处理 //原创 2012-12-11 17:55:12 · 231 阅读 · 0 评论 -
deque 内存块管理
int arr0[2]={1,2}; int arr1[2]={3,4}; int arr2[2]={5,6}; int* arrctl[4]; arrctl[0] = arr0; arrctl[1] = arr1; arrctl[2] = arr2; int **arrmap = arrctl;原创 2012-12-13 18:02:16 · 410 阅读 · 0 评论 -
友元函数 友元类
#include class C; class B; class A{ friend class C; friend bool check(A a,B b); friend bool operator>(A& a,B& b); int aNum; bool flag; public: A(bool a,int n){ flag = a; aNum = n; } };原创 2013-04-03 16:14:46 · 429 阅读 · 0 评论 -
大小端模式
低地址放地位----小端模式 低地址放高位----大端模式原创 2013-12-26 11:32:36 · 378 阅读 · 0 评论 -
sizeof
struct的sizeof 1. 各成员变量存放的起始地址相对于结构的起始地址的偏移量必须为该变量的类型所占用的字节数的倍数。 2. 同时VC为了确保结构的大小为结构的字节边界数(即该结构中占用最大空间的类型所占用的字节数)的倍数,所以在为最后一个成员变量申请空间后,还会根据需要自动填充空缺的字节。 struct MyStruct { char dda;转载 2014-02-27 12:08:52 · 431 阅读 · 0 评论 -
sizeof 实现
#define sizeof_v(var) ((size_t) ((char *)(&(var) + 1) - (char *)&(var))) #define sizeof_t(type) ((size_t) ((type *)0 + 1)转载 2015-01-15 15:28:47 · 453 阅读 · 0 评论 -
stl set
TType of the elements. Each element in a set container is also uniquely identified by this value (each value is itself also the element's key). Aliased as member types set::key_type and set::value_ty转载 2015-03-18 15:22:32 · 386 阅读 · 0 评论 -
shared_ptr
shared_ptr模板类有一个__shared_count类型的成员_M_refcount来处理引用计数的问题。__shared_count也是一个模板类,它的内部有一个指向Sp_counted_base_impl类型的指针_M_pi。所有引用同一个对象的shared_ptr都共用一个_M_pi指针。 当一个shared_ptr拷贝复制时, _M_pi指针调用_M_add_ref_copy()原创 2017-01-23 19:40:39 · 517 阅读 · 0 评论 -
CreateThread CreateMutex
#include #include using namespace std; HANDLE hMutex; DWORD WINAPI threadFun(LPVOID lpParamter){ char * p = (char *)lpParamter; while(1){ WaitForSingleObject(hMutex,INFINITE)原创 2011-11-25 19:36:33 · 522 阅读 · 0 评论 -
读取文件夹下最近三天的文件名 文件按时间产生
#include #include #include void setYearMonth(char *nowDay,char *yesDay,char *befDay){ char date[15];//yyyymmdd*.dbf time_t now;//实例化time_t结构 struct tm *timenow;//实例化tm结构指针 time(&now); timenow原创 2011-11-05 15:36:23 · 473 阅读 · 0 评论 -
c string.h
#include //#include void *(memchr)(const void *s,int c,size_t n){ const unsigned char uc = c; const unsigned char *su; for(su=( unsigned原创 2011-07-15 14:25:18 · 316 阅读 · 0 评论 -
指针例子
#include int add(int a,int b){ return a+b; } int main(){ freopen("out.txt","w",stdout); int a; int * pa; int **ppa; a原创 2011-07-27 20:10:08 · 319 阅读 · 0 评论 -
c++ 运算符重载
Complex.h #ifndef _COMPLEX_H_ #define _COMPLEX_H_ #include using namespace std; class Complex{ friend ostream& operator<<(ostream& out,co原创 2011-09-15 17:02:49 · 241 阅读 · 0 评论 -
虚析构函数 enum
#include #include using namespace std; enum XQ { MONDAY, TUESDAY, WEDNESDAY, THUERSDAY, FRIDAY, SATURDAY, SUNDAY }; cl原创 2011-10-11 19:19:40 · 339 阅读 · 0 评论 -
c++运算符重载
complex.h #ifndef _COMPLEX_H_ #define _COMPLEX_H_ #include using namespace std; class Complex{ friend ostream& operator<<(ostream& out,原创 2011-10-12 19:23:03 · 224 阅读 · 0 评论 -
监测文件属性
stat结构体 struct stat finfo; stat( sFileName, &finfo ); int size = finfo.st_size; struct stat { mode_t st_mode; //文件对应的模式,文件,目录原创 2011-07-15 14:49:11 · 404 阅读 · 0 评论 -
c ctype.h
#include #include #include #include #include #include #include static void prclass(const char* name,int (*fn)(int)){ int c; fputs(name,s原创 2011-10-13 09:19:19 · 441 阅读 · 0 评论 -
获取系统时间
#include //C语言的头文件 #include //C语言的I/O int main() { time_t now;//实例化time_t结构 struct tm *timenow;//实例化tm结构指针 time(&now); timenow = l原创 2011-10-12 19:15:07 · 295 阅读 · 0 评论 -
tinyxml
#include "tinyxml.h" #include "tinystr.h" #include using namespace std; int main(){ cout<<"begin"<<endl; TiXmlDocument *myDocument = n原创 2011-10-12 19:35:55 · 249 阅读 · 0 评论 -
爬楼梯 struct union内存分配 大小端判断
#include #include int step(int n){ if(1==n) return 1; else if(2==n) return 2; else if(3==n) return 4; else return step(n-1)+ste原创 2011-10-18 20:54:49 · 866 阅读 · 0 评论 -
vector 内存分配
#include #include using namespace std; int main() { vector iVec; cout << "容器 大小为: " << iVec.size() << "容器 容量为: " << iVec.capacity() << endl; //1个元素, 容器容量为1 iVec.push_back(1); cout << "容器 大小为:转载 2011-10-20 20:27:27 · 2121 阅读 · 0 评论 -
windows api 读取目录下所有文件
#include #include void enum_path(char *cpath){ WIN32_FIND_DATA wfd; HANDLE hfd; char cdir[MAX_PATH]; char subdir[MAX_PATH]; int r; GetCurrentDirectory(MAX_PATH,cdir); SetCurrentDirect转载 2011-11-05 14:39:26 · 3690 阅读 · 0 评论 -
DLL例子
<br />Dll1.cpp<br />#define DLL1_API extern "C" _declspec(dllexport) #include "Dll1.h" #include<windows.h> #include<stdio.h> int add(int a,int b){ return a+b; } int subtract(int a, int b){ return a-b; }<br /> <br /> <br />Dll1.h<br /> <br原创 2011-03-20 21:49:00 · 319 阅读 · 0 评论