随笔分类 -  C/C++

 
sizeof(class)
摘要:Determining the Size of a Class ObjectBy Girish ShettyThere are many factors that decide the size of an object of a class in C++. These factors are:Size of all non-static data membersOrder of data membersByte alignment or byte paddingSize of its immediate base classThe existence of virtual function( 阅读全文
posted @ 2011-02-25 16:33 peterxiang 阅读(384) 评论(0) 推荐(0)
句柄类
摘要:C++ 中面向对象编程的一个颇具讽刺意味的地方是,不能使用对象支持面向对象编程,相反,必须使用指针或引用。例如,下面的代码段: 阅读全文
posted @ 2010-07-16 17:32 peterxiang 阅读(1685) 评论(0) 推荐(0)
COM组件
摘要:IDispatch接口如果是编译型语言,那么我们可以让编译器在编译的时候装载类型库,也就是装载接口的描述。在第七回文章当中,我们分别使用了#include方法和#import方法来实现的。装载了类型库后,编译器就知道应该如何编译接口函数的调用了---这叫“前绑定”。但是,如果想在脚本语言中使用组件,问题就大了,因为脚本语言是解释执行的,它执行的时候不会知道具体的函数地址,怎... 阅读全文
posted @ 2010-07-12 17:25 peterxiang 阅读(777) 评论(0) 推荐(0)
智能指针
摘要:我们每申请一块动态内存,都必须在某处释放它,如果忘记了,则会造成内存泄露。为了减轻程序员的负担并降低程序内存泄露的风险,有人想了一种办法:不直接调用动态内存的指针,而是通过 类 来封装一下。因为类有构造函数和析构函数,并且总是成对出现的,我们只要在析构函数中释放掉申请到的动态内存,就安全了。而类的析构函数是系统调用的,不用我们去操心。这就是智能指针的中心思想。甚好,甚强巨。可是,要用这个方法,还要... 阅读全文
posted @ 2010-07-08 14:30 peterxiang 阅读(250) 评论(1) 推荐(0)
pthread
摘要:今天试了下在windows上调用pthread库,做个笔记先首先下载pthread for windows的库文件:http://www.cnblogs.com/peterxiang/admin/ftp://sources.redhat.com/pub/pthreads-win32/pthreads-w32-2-7-0-release.exe这个自解压文件,压缩包里的pthreads.2目录是源码... 阅读全文
posted @ 2010-06-17 16:48 peterxiang 阅读(432) 评论(0) 推荐(0)
事件 EVENT
摘要:事件(event)HANDLECreateEvent(PSECURITY_ATTRIBUTESpsa,BOOLfManualReset,BOOLfInitialState,PCTSTRpszName);一旦事件已经创建,就可以直接控制它的状态。当调用SetEvent时,可以将事件改为已通知状态:BOOLSetEvent(HANDLEhEvent);当调用ResetEvent函数时,可以将该事件改为... 阅读全文
posted @ 2010-06-06 14:44 peterxiang 阅读(552) 评论(0) 推荐(0)
排序算法
摘要:[代码][代码] 阅读全文
posted @ 2010-05-24 13:58 peterxiang 阅读(164) 评论(0) 推荐(1)
temp notepad
摘要:restrictionvectorcreate a stack,pop,push.., deconstructornode:linked list[代码] 阅读全文
posted @ 2010-04-20 14:15 peterxiang 阅读(154) 评论(0) 推荐(0)
C++ Primer 读书笔记 (类)
摘要:构造函数编译 myobj 的声明没有问题。然而,当我们试图使用 myobj 时编译器会指出不能将成员访问符号用于一个函数!问题在于 myobj 的定义被编译器解释为一个函数的声明,该函数不接受参数并返回一个 Sales_item 类型的对象——与我们的意图大相径庭!使用默认构造函数定义一个对象的正确方式是去掉最后的空括号:另一方面,下面这段代码也是正确的:这个构造函数使用构造函数初始化列表来初始化 units_sold 和 revenue 成员。isbn 成员由 string 的默认构造函数隐式初始化为空串。在冒号和花括号之间的代码称为构造函数的初始化列表。构造函数的初始化列表为类的一个或多个 阅读全文
posted @ 2010-03-25 17:07 peterxiang 阅读(389) 评论(0) 推荐(0)
C/C++中的static
摘要:Normal 0 7.8 磅 0 2 false false false MicrosoftInternetExplorer4 static 对于变量和函数一共有三个作用: 1. 表示该变量是局部静态变量,该变量的空间分配在静态存储区, 在程序整个运行期间都不释放,并且在定义时自动被初始化。如果对同名的非static变量进行赋值,不会改变static变量的值。 2. 可以隐藏变量和函数,用来表... 阅读全文
posted @ 2009-08-20 15:30 peterxiang 阅读(146) 评论(0) 推荐(0)
关于C++中函数指针的使用(包含对typedef用法的讨论)
摘要:转自http://blog.csdn.net/csumck/archive/2004/10/28/157157.aspx(一)简单的函数指针的应用。[代码]第一行定义了一个指针变量pFun。首先我们根据前面提到的“形式1”认识到它是一个指向某种函数的指针,这种函数参数是一个int型,返回值是char类型。只有第一句我们还无法使用这个指针,因为我们还未对它进行赋值。 第二行... 阅读全文
posted @ 2009-08-20 15:25 peterxiang 阅读(248) 评论(0) 推荐(0)
dll编程深入浅出——读书笔记(1)
摘要:1)#define MYLIBAPI extern "C" __declspec(dllexport) __declspec(dllexport)说明该函数为DLL的导出函数,可供应用程序调用。 __declspec(dllimport)为内部函数,只能在DLL内使用。 2)DLL的调用步骤:DLL加载-DLL函数地址获取-DLL释放。 下面是一个调用DLL的例子: CodeCode hi... 阅读全文
posted @ 2009-04-14 23:47 peterxiang 阅读(185) 评论(0) 推荐(0)
《Windows核心编程》读书笔记:Jobs
摘要:How to use Jobs to restricts our process's ability My StartRestrictedProcess function places a process in a job that restricts the process' ability to do certain things: CodeCode highlighting prod... 阅读全文
posted @ 2009-04-08 21:35 peterxiang 阅读(353) 评论(0) 推荐(0)
#ifdef 如何实现“与或”
摘要:今天改一段代码的时候遇到了一个小问题,代码逻辑如下: Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->#ifndef A#endif //ifndef A 现在要加入一个条件B,实现这样一个效果: #ifndef A || ifdef B 显然... 阅读全文
posted @ 2009-04-08 17:56 peterxiang 阅读(14248) 评论(1) 推荐(0)