c++
文章平均质量分 74
王教余
码农
展开
-
_CrtCheckMemory()
Return ValueIf successful, _CrtCheckMemory returns TRUE; otherwise, the function returns FALSE.RemarksThe _CrtCheckMemory function validates memory allocated by the debug heap manager by verifyi转载 2012-11-13 20:54:43 · 5097 阅读 · 0 评论 -
hash_map和map的区别
文章来源:http://blog.csdn.net/dongtingzhizi/article/details/8629285 在网上看了一篇《详细解说STL hash_map系列》的文章(http://blog.163.com/liuruigong_lrg/blog/static/27370306200711334341781/),以及一些其他关于STL map和has转载 2015-01-13 20:46:44 · 3074 阅读 · 1 评论 -
设计模式 --责任链模式 Chain of resposbility
定义:责任链模式是一种对象的行为模式【GOF95】。在责任链模式里,很多对象由每一个对象对其下家的引用而连接起来形成一条链。请求在这个链上传递,直到链上的某一个对象决定处理此请求。发出这个请求的客户端并不知道链上的哪一个对象最终处理这个请求,这使得系统可以在不影响客户端的情况下动态地重新组织链和分配责任。实际的应用中责任链并不仅仅表现为链式结构,还有树型责任表等等。该模型的核心思想是分层处理客原创 2015-02-01 23:03:09 · 1035 阅读 · 0 评论 -
多线程和进程的一个简单的解释(转自阮一峰的博客)
进程与线程的一个简单解释作者: 阮一峰日期: 2013年4月24日进程(process)和线程(thread)是操作系统的基本概念,但是它们比较抽象,不容易掌握。最近,我读到一篇材料,发现有一个很好的类比,可以把它们解释地清晰易懂。1.计算机的核心是CPU,它承担了所有的计算任务。它就像一座工厂,时刻在运行。2.假定工厂的转载 2013-04-25 09:21:08 · 1497 阅读 · 2 评论 -
C++利用new_handler()函数处理异常
C++利用new_handler()函数处理异常C++规定,new_handler要执行下述操作中的一种:(1)使new有更多的内存使用,然后返回(2)抛出一个bad_alloc异常或者其派生异常(3)调用abort或者exit退出下面举例说明,程序通过VS2008编译运行#include #ifndef NUL#define NUL '\0'#endifc原创 2013-03-28 09:20:03 · 834 阅读 · 0 评论 -
C++异常机制的实现方式和开销分析
C++异常机制的实现方式和开销分析白杨http://baiy.cn 在我几年前开始写《C++编码规范与指导》一文时,就已经规划着要加入这样一篇讨论 C++ 异常机制的文章了。没想到时隔几年以后才有机会把这个尾巴补完 :-)。还是那句开场白:“在恰当的场合使用恰当的特性” 对每个称职的 C++ 程序员来说都是一个基本标准。想要做到这点,就必须要了解语言中每个特性的实现转载 2013-03-22 20:19:30 · 773 阅读 · 0 评论 -
查找树(二叉树)的构建以及分层遍历
代码均通过vs2008编译运行头文件代码:#include #include //包含stack和queue,为了方便遍历数据存储#include struct BTree//定义查找树的结构{ int m_data; struct BTree* m_pLeft; struct BTree* m_pRight;};struct BTre原创 2013-04-02 20:40:34 · 1146 阅读 · 2 评论 -
重载debug版本的operator new和operator delete
在实际调试中为了调试方便,我们通常重载一些库函数,在这篇文章中我会重载operator new和operator delete(注意不是new operator和delete operator),让它们可以打印出一些额外信息(程序通过VS2008编译运行)#include void* operator new(std::size_t size,char* file,int line)//重原创 2013-03-29 11:06:17 · 892 阅读 · 0 评论 -
c++输出(<<)操作符重载
代码通过VS2008编译运行注意:输出和输入操作符,必须声明为类的友元函数#include #include#include class CheakoutRecord{public: int set_book(const double& id,const std::string& topic); friend std::ostream& operat原创 2013-03-04 10:47:01 · 728 阅读 · 0 评论 -
c++l类中static成员函数和成员数据变量使用
c++中为了保护类的封装性,提出了static成员来代替全局变量,下面我们来了解一下static成员的使用方法:程序通过vs2008调试成功例一:#include "stdafx.h"#include#include#include#include#includeclass test{public: static void show(void)原创 2013-01-27 23:05:25 · 3339 阅读 · 1 评论 -
c++输入输出流介绍
简介本教程将以C++最基本的文件I/O(输出/输出)开始。此后,我将从更深入的方面,为你展示一些技巧,并分析给出一些有用的函数。你需要对C++有一个较好的理解,否则这个教程于你而言将是陌生而毫无用处。 你的第一个程序 首先我将给出一段代码,接着再逐行进行解释。我们的第一个程序将建立一个文件,并写入一些字符: #include v转载 2013-01-28 15:20:27 · 921 阅读 · 1 评论 -
为什么应该用模块取代C/C++中的头文件? .
为什么应该使用模块(Module)替代头文件(Header)?头文件糟透了!众所周知,C程序在编译时一般会预处理头文件: 常规解决办法如下:[cpp] view plaincopyprint?LLVM_WHY_PREFIX_UPPER_MACROS LLVM_CLANG_INCLUDE_GUARD_H templatecl转载 2013-01-11 08:55:16 · 938 阅读 · 0 评论 -
c\c++回调函数的介绍(含有函数指针和伪函数——functors)
以前在学校学习回调函数的时候,对其应用没有太多的理解,也感觉不出来它有多大的用处,经过几年的积累,现在想把回调函数的一些应用来总结一下,做到温故而知新吧,后续将推出efftive c++系列和c专家系列,以及算法大规模计算方面,希望能同大家共同进步。(所有代码均通过VS2008编译通过) 一、概念介绍 a,c语言中的函数指针:我们知道在C中,函数名可以作为函数的入口,那么函数指针就是给原创 2013-01-22 11:23:42 · 3109 阅读 · 0 评论 -
__stdcall
__stdcall 被这些修饰关键字修饰的函数,其参数都是从右向左通过堆栈传递的(__fastcall 的前面部分由ecx,edx传),函数调用在返回前要清理堆栈,但由调用者还是被调用者清理不一定。目录函数调用约定MFC缺省调用约定名字修饰约定函数调用约定 __stdcall是函数调用约定的一种,转载 2013-01-04 22:14:45 · 807 阅读 · 0 评论 -
TR1库介绍
C++ Technical Report 1 (TR1) 是ISO/IEC TR 19768, C++ Library Extensions(函式库扩充)的一般名称。TR1是一份文件,内容提出了对C++标准函式库的追加项目。这些追加项目包括了正则表达式、智能指针、哈希表、随机数生成器等。TR1自己并非标准,他是一份草稿文件。然而他所提出的项目很有可能成为下次的官方标准。这份文件的目标在于「为扩充转载 2013-01-01 22:27:09 · 3630 阅读 · 0 评论 -
转载一份C++线程池的代码,非常实用 .
#ifndef _ThreadPool_H_#define _ThreadPool_H_#pragma warning(disable: 4530)#pragma warning(disable: 4786)#include #include #include #include using namespace std;class ThreadJob //工作基类{public: //供线程池调转载 2012-12-31 10:48:09 · 1371 阅读 · 0 评论 -
extern C作用总结
extern C使用主要用与在C++代码中调用的C函数的声明,或C++中编译的函数要在C中调用,也即是导入C形式的函数库或者提供C类型的库给C调用,原创 2015-01-17 19:48:31 · 3394 阅读 · 0 评论