C / C++
happytengfei
编程爱好者——小牛
展开
-
C++开源项目
Ptypes Ptypes一个开源轻量级的c++库,包括对一些I/O操作、网络通信、多线程和异常处理的封装。虽然代码有限,包括的内容不少,麻雀虽小,五脏俱全。 STL Boost和STL ACE Boost库是一个可移植、提供源代码的C++库,作为标准库的后备,是C++标准化进程的发动机之一。 Boost库由C++标准委员会库工作组成员发起,其中有些内容有望成原创 2012-09-05 21:44:07 · 5129 阅读 · 1 评论 -
delete this--对象请求自杀
delete this,使用的时候必须要相当小心才行,《C++ FAQ》里提到所谓“小心”至少包括以下几个方面: this对象是必须是用 new操作符分配的(而不是用new[],也不是用placement new,也不是局部对象,也不是global对象); delete this后,不能访问该对象任何的成员变量及虚函数(delete this回收的是数据,这包括对象的数据成员转载 2013-10-12 12:02:06 · 382 阅读 · 0 评论 -
STL中的Allocator
Allocator是C++语言标准库中最神秘的部分之一。它们很少被显式使用,标准也没有明确出它们应该在什么时候被使用。今天的allocator与最初的STL建议非常不同,在此过程中还存在着另外两个设计--这两个都依赖于语言的一些特性,而直到最近才在很少的几个编译器上可用。对allocator的功能,标准似乎在一些方面追加了承诺,而在另外一些方面撤销了承诺。 这篇专栏文章将讨论你能用all转载 2013-07-18 13:22:18 · 421 阅读 · 0 评论 -
multimap 输出同一个key对应的多个value
/* 2(C) OOMusou 2006 http://oomusou.cnblogs.com 3 4Filename : MultiMapFindByKey.cpp 5Compiler : Visual C++ 8.0 / ISO C++ 6Description : Demo how to find by key in multimap 7Release转载 2013-01-22 11:19:10 · 1051 阅读 · 0 评论 -
标准C文件操作
一. 获取文件大小的方法 // 方法一 (个人推荐) struct _stat info; _stat(filepath, &info); int size = info.st_size; cout // 方法二 (只能在windows上用,linux没有filelength函数) FILE* file = fopen(fil原创 2012-11-22 16:56:54 · 372 阅读 · 0 评论 -
打印蛇形矩阵
#include #define MAX 20 int n,square[MAX][MAX]; int ok(int x,int y) { return (0<=x&&x<n&&0<=y&&y<n&&square[x][y]==0); } main() { int i,j,k,d; printf("请输入螺旋方阵的阶数n:");转载 2012-12-24 21:37:29 · 369 阅读 · 0 评论 -
C/C++二维数组的动态分配及参数传递
1. C语言动态分配二维数组 (1)已知第二维 Code-1 char (*a)[N];//指向数组的指针 a = (char (*)[N])malloc(sizeof(char *) * m); printf("%d\n", sizeof(a));//4,指针 printf("%d\n", sizeof(a[0]));//N,一维数组 free(a);转载 2012-12-25 17:19:25 · 342 阅读 · 0 评论 -
Printf
printf的格式控制的完整格式: % - 0 m.n l或h 格式字符 下面对组成格式说明的各项加以说明: ①%:表示格式说明的起始符号,不可缺少。 ②-:有-表示左对齐输出,如省略表示右对齐输出。 ③0:有0表示指定空位填0,如省略表示指定空位不填。 ④m.n:m指域宽,即对应的输出项在输出设备上所占的字符数。N指精度。用于说明输出的实型数的小数位数。为指定n时,隐含转载 2012-11-19 12:42:04 · 264 阅读 · 0 评论 -
C++ 数据类型转换
1 使用atoi, itoa,atol,... 2 使用sscanf, sprintf (功能非常强大,推荐) 3 使用strtol, strtod 4 使用ostringstream, 5 使用ecvt, scvt (double到string之间的转换)原创 2012-11-12 10:27:37 · 308 阅读 · 0 评论 -
C++ 内存分配知识:全局,局部,静态变量
转自: http://www.cnblogs.com/netlyf/archive/2009/12/15/1624456.html 预备知识—程序的内存分配 一个由C/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放,转载 2012-11-10 17:47:02 · 2034 阅读 · 0 评论 -
C++派生类构造函数调用顺序(详解)
我们来看下面一段代码: class B1 { public: B1(int i) {cout }; class B2 { public: B2(int j) {cout }; class B3 { public: B3( ){cout }; class C: public B2, public B1,转载 2012-11-10 17:25:06 · 415 阅读 · 0 评论 -
C++内存泄露检测原理
转自:http://hi.baidu.com/jasonlyy/item/9ca0cecf2c8f113a99b4981c 本文针对 linux 下的 C++ 程序的内存泄漏的检测方法及其实现进行探讨。其中包括 C++ 中的 new 和 delete 的基本原理,内 存检测子系统的实现原理和具体方法,以及内存泄漏检测的高级话题。作为内存检测子系统实现的一部分,提供了一个具有更好的使用特性转载 2012-11-10 23:09:38 · 2358 阅读 · 0 评论 -
c++ SingleTon Pattern
1 使用Mutex同步线程,这些线程可以来自不同Process class T { public: static T* instance(); private: T() {} ~T() {} static T* smInstance; static VMutex smMutex; };// T.cpp :T* T::smInstance = NULL; VM原创 2012-11-10 16:39:11 · 524 阅读 · 0 评论 -
C++ Exceptions
转自:http://www.cplusplus.com/doc/tutorial/exceptions/ Exceptions provide a way to react to exceptional circumstances (like runtime errors) in our program by transferring control to special functio转载 2012-11-08 12:53:32 · 579 阅读 · 0 评论 -
c++ Libraries
1 Boost url: http://www.boost.org/ 2 待续原创 2012-11-08 21:23:02 · 329 阅读 · 0 评论 -
Linux C 删除文件夹
方法一. #include #include #include #include #include #include #define _MAXDIR_ 256 char dirname[_MAXDIR_], rootdir[_MAXDIR_]; void del_dir(char *path) { DIR* dp = NUL转载 2013-11-12 10:14:40 · 2812 阅读 · 0 评论