C/C++
xudacheng06
这个作者很懒,什么都没留下…
展开
-
C++ Utilities四(Uninitialized memory的使用)
以下三个函数定义为头文件memory中,下面是其可能的实际代码。代码来源于《The C++ Standard Library》namespace std{ template void uninitialized_fill(ForwIter beg,ForwIter end原创 2011-09-02 22:42:34 · 756 阅读 · 0 评论 -
HashTable的一个详细实现
注:修改完善于一个粗糙版本http://blog.csdn.net/aishen944/article/details/14835161,修改了原文代码中的错误2,主要解决了在扩容时hash效率较差的问题 #ifndef _HASHTABLE_H #de原创 2011-09-23 21:43:50 · 2597 阅读 · 0 评论 -
通用工具Utilities(二)----min max swap offsetof
template inline const T& min(const T& a, const T& b){ return b < a ? b: a;}template inline const T& min(const T& a, const T& b, Compa原创 2011-08-21 21:39:38 · 444 阅读 · 0 评论 -
通用工具Utilities(三)----定义于utility中的pair和辅助性的比较操作符
// utility standard header#pragma once#ifndef _UTILITY_#define _UTILITY_#ifndef RC_INVOKED#include #ifdef _MSC_VER #pragma pack(push原创 2011-08-22 09:47:32 · 746 阅读 · 0 评论 -
Perl -d 调试perl程序
在控制台输入perldoc perldebug即可如何得到如何调试perl程序的文档。其中重要的命令如下:p expr Same as "print {$DB::OUT} expr" in the current package. In原创 2011-09-28 13:21:51 · 4539 阅读 · 1 评论 -
《com原理与应用》第4章聚合示例程序--执行流程
最近在看《Com原理与应用》这本书,在第4章看聚合时被卡住了,昨天搞了一个晚上没搞清楚,今天早上接着调试,把所有的函数都进行Log记录,最终发现了问题所在。开始未能理解其中的微妙, 不明白为什么明明调用的是QueryInterface函数,实际上去调用了一个不相干的函数NondelegationQueryInterface。后来从下面这个链接中知道了其中的关键所在,又回想起侯捷翻译的《C++对象模原创 2012-01-08 15:31:37 · 519 阅读 · 0 评论 -
Windows消息分流器
Windows消息循环讲的比较好的一篇博文原谅链接: http://blog.csdn.net/hopkins9961629/article/details/588184windows操作系统使用消息处理机制,那么,我们所设计的程序如何才能分辨和处理系统中的各种消息呢?这就是消息分流器的作用.简单来说,消息分流器就是一段代码,在我的讲述中,将分7重来循序渐进的介绍它.从最初转载 2012-01-10 22:21:51 · 579 阅读 · 0 评论 -
C/C++启动函数
今天在看《Windows核心编程》第四章,其中我感兴趣的是关于启动函数的描述。启动函数的用途如下:1,获取指向新进程的完整命令行的一个指针;2,获取指向新进程的环境变量的一个指针;3,初始化C/C++运行库的全局变量4,初始化所有全局和静态C++类对象的构造函数。对于一个程序而言,在执行main函数之前会执行crtexe.c文件中mainCRTStartup或wmain原创 2012-02-28 00:09:12 · 5153 阅读 · 0 评论 -
cstdarg可变参数列表
va_listType to holdinformation about variable argumentsThis type is used as a parameter for the macros definedin cstdarg to retrieve t翻译 2011-09-23 16:06:44 · 722 阅读 · 0 评论 -
智能型指针另一种实现(基于计数)
/* The following code example is taken from the book * "The C++ Standard Library - A Tutorial and Reference" * by Nicolai M. Josuttis, Add转载 2011-08-26 21:22:24 · 314 阅读 · 0 评论 -
运算符重载
1,++运算符的重载#include class Cincrease{public: Cincrease(int x) : value(x) {} Cincrease& operator ++ (); //前增量 Cincrease operator ++原创 2011-08-26 21:09:26 · 454 阅读 · 0 评论 -
Operator new函数
operator newvoid* operator new (std::size_t size) throw (std::bad_alloc);void* operator new (std::size_t size, const std::nothrow_t& no翻译 2011-09-02 22:55:32 · 1123 阅读 · 1 评论 -
字符特性char_traits定义,及其特化版本char_traits<char>,char_traits<wchar_t>
// iosfwd standard header#if _MSC_VER > 1000#pragma once#endif#ifndef _IOSFWD_#define _IOSFWD_#include #include #include #inc原创 2011-09-03 14:28:48 · 2897 阅读 · 0 评论 -
new 与 operator new,placement new
"placement new"? 它到底是什么东东呀?我也是最近几天才听说,看来对于C++我还差很远呀!placement new 是重载operator new的一个标准、全局的版本,它不能被自定义的版本代替(不像普通的operator new和operator delet转载 2011-09-02 21:26:02 · 457 阅读 · 0 评论 -
vector中清除某个元素方法(erase)
给一个vector对象,如何实现遍历一个删除一个。这个问题主要考察vector的erase函数。erase函数的声明如下:iterator erase(iterator_Where);iterator erase(iterator_First,iterator_L原创 2011-09-05 14:27:11 · 10201 阅读 · 0 评论 -
while(cin)的理解
Jery最早的意图是支持一个iostream class object的纯量测试,像这样:if ( cin )...为了让cin能够求得一个真假值,Jerry首先为它定义一个conversion运算符,即operator int()。在良好行为如上者,确实 可以正确运行。原创 2011-09-07 16:11:16 · 2172 阅读 · 0 评论 -
指向类的数据成员和函数指针
指向类成员的指针在C++语言中,可以定义一个指针,使其指向类成员或成员函数,然后通过指针来访问类的成员。这包括指向属性成员的指针和指向成员函数的指针。à 指向数据成员的指针在C++语言中,可以定义一个指针,使其指向类成员。当属性成员为静态和非静态时,指针的使用也有不同原创 2011-09-09 16:18:41 · 2879 阅读 · 0 评论 -
通用工具Utilities(一):STL中auto_ptr的实现以及auto_ptr_ref的理解
auto_ptr源代码,参考The C++ Standard Library/* The following code example is taken from the book * "The C++ Standard Library - A Tutorial and R转载 2011-08-21 20:02:56 · 666 阅读 · 0 评论 -
查看宏展开之后的代码
原文来自:dadaguo3000的专栏#include #define MIN(x, y) (x < y ? x : y) #define TO_STRING(x) TO_STRING1(x) #define TO_STRING1(x) #转载 2011-09-22 16:26:17 · 1849 阅读 · 0 评论 -
引用变量
引用是已定义变量的别名。引用变量的主要用途是用作函数形参。通过将引用变量用作参数,函数将使用原始数据,而不是其拷贝。1 创建引用变量int rats =101;int& refRats =rats;那么:&rats == &refRats.引用更接近于const指针,必须在创建时进行初始化,一旦与某个变量关联起来,就一直绑定。因此,int & refRats = rat原创 2012-09-05 12:21:54 · 1086 阅读 · 0 评论