c++
zhoujiaxq
这个作者很懒,什么都没留下…
展开
-
C++中STL STD::list使用说明
转自:http://www.cnblogs.com/fangyukuan/archive/2010/09/21/1832364.htmlhttp://www.cplusplus.com/reference/stl/list/STL: C++ standard template library C++标准模板库stl list使用说明使用标准的std::l转载 2013-08-06 09:09:46 · 882 阅读 · 0 评论 -
C++ 虚函数表解析
看过的最好的一篇关于虚函数解析的文章:前言C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,RTTI技术,虚函数技术,要么是试图做到在编译时决议,要么试图做转载 2014-06-12 09:38:27 · 732 阅读 · 0 评论 -
一个最简单的源Filter的编写步骤
1.创建一个空的Dll工程,添加5个空文件分别名为:MyOutputPin.h、 MySourceFilter.h、MyOutputPin.cpp、MySourceFilter.cpp和MySourceFilter.def。2.声明两个类,一个是Filter的实现类,一个是输出Pin的实现类,由于是最简单的源Filter,因此Filter只有一个输出Pin。实 现的功能是从本地磁盘读取三个转载 2014-02-13 17:22:22 · 1679 阅读 · 0 评论 -
Filter组件开发中的SDK基类分析
转载请标明是引用于 http://blog.csdn.net/chenyujing1234参考书> DirectShow SDK提供了一套开发Filter的基类源代码。基于这些基类开发Filter将大大简化开发过程。1、CBaseObject 大部分SDK类都从CBaseObject类(参见combase.h)中继承而来的。class CBaseObject {转载 2014-02-13 17:12:34 · 1583 阅读 · 0 评论 -
C++拷贝构造函数(深拷贝,浅拷贝)
对于普通类型的对象来说,它们之间的复制是很简单的,例如:int a=88;int b=a; 而类对象与普通对象不同,类对象内部结构一般较为复杂,存在各种成员变量。下面看一个类对象拷贝的简单例子。#include iostream>using namespace std;class CExample {private: int a;publ转载 2013-09-27 09:48:09 · 393 阅读 · 0 评论 -
c++关键字explicit
C++提供了关键字explicit,可以阻止不应该允许的经过转换构造函数进行的隐式转换的发生。声明为explicit的构造函数不能在隐式转换中使用。 C++中, 一个参数的构造函数, 承担了两个角色。 1 是个构造器 2 是个默认且隐含的类型转换操作符。 所以, 有时候在我们写下如 AAA = XXX, 这样的代码, 且恰好XXX的类型正好是AAA单参数构造器的参数类型, 这时候转载 2013-09-26 09:27:41 · 533 阅读 · 0 评论 -
char, wchar_t, TCHAR 字符全总结 & c++字符串操作经验集
字符类型、字符指针类型、字符串字面值字符类型: char, wchar_t, CHAR, WCHAR, TCHAR, UCHAR, BYTE, TBYTE char 是C语言标准数据类型,字符型。通常由编译器决定一个char对象有多少个字节组成,一般是一字节。 wchar_t 是char的Unicode版本。相当于 unsigned sho转载 2013-08-15 08:39:46 · 1419 阅读 · 0 评论 -
Socket编程指南及示例程序
例子代码就在我的博客中,包括六个UDP和TCP发送接受的cpp文件,一个基于MFC的局域网聊天小工具工程,和此小工具的所有运行时库、资源和执行程序。代码的压缩包位置是http://www.blogjava.net/Files/wxb_nudt/socket_src.rar。1 前言在一些常用的编程技术中,Socket网络编程可以说是最简单的一种。而且Socket编程需要的转载 2013-08-12 17:19:42 · 801 阅读 · 0 评论 -
Posix互斥量pthread_mutex_t
一、什么是互斥锁 另一种在多线程程序中同步访问手段是使用互斥量。程序员给某个对象加上一把“锁”,每次只允许一个线程去访问它。如果想对代码关键部分的访问进行控制,你必须在进入这段代码之前锁定一把互斥量,在完成操作之后再打开它。 互斥量函数有 pthread_mutex_init 初始化一个互斥量 pthread_mutex转载 2013-08-12 15:36:50 · 3346 阅读 · 0 评论 -
CreateEvent的用法
事件对象就像一个开关:它只有两种状态---开和关。当一个事件处于”开”状态,我们称其为”有信号”否则称为”无信号”。可以在一个线程的执行函数中创建一个事件对象,然后观察它的状态,如果是”无信号”就让该线程睡眠,这样该线程占用的CPU时间就比较少。产生事件对象的函数如下: HANDLE CreateEvent( LPSECURITY_ATTRIBUTES转载 2013-08-06 19:12:51 · 542 阅读 · 0 评论 -
在应用程序中监视剪贴板的变化和内容
剪贴板是Windows中系统级的堆空间,系统中任何一个应用程序对剪贴板都有访问权,可以通过剪贴板消息和使用剪贴板API来读写剪贴板内容。因此使用剪贴板不仅可以在同一个应用程序内交互数据,也可以在不通应用程序之间交互数据。尤其是在不通应用程序之间交互时,应用程序往往需要对剪贴板内容的变化做到实时感知,即应用程序要能监视剪贴板内容的变化。Windows应用是消息驱动的,同理当剪贴板内容发生变化时,转载 2013-08-06 19:04:24 · 1360 阅读 · 0 评论 -
std::vector用法
vector是C++标准模板库中的部分内容,它是一个多功能的,能够操作多种数据结构和算法的模板类和函数库。vector之所以被认为是一个容器,是因为它能够像容器一样存放各种类型的对象,简单地说,vector是一个能够存放任意类型的动态数组,能够增加和压缩数据。为了可以使用vector,必须在你的头文件中包含下面的代码:#include vector属于std命名域的,因此需要通过命名限转载 2013-08-06 10:18:36 · 24429 阅读 · 0 评论 -
std::map用法
映射和多重映射基于某一类型Key的键集的存在,提供对T类型的数据进行快速和高效的检索。对map而言,键只是指存储在容器中的某一成员。Map不支持副本键,multimap支持副本键。Map和multimap对象包涵了键和各个键有关的值,键和值的数据类型是不相同的,这与set不同。set中的key和value是Key类型的,而map中的key和value是一个pair结构中的两个分量。转载 2013-08-06 09:45:00 · 52454 阅读 · 1 评论 -
VS2010命令行下查看虚函数表和类内存布局
VS2010命令行下查看虚函数表和类内存布局——《深度探索C++对象模型》读书札记系列 在学习多重继承下的Virtual functions时,需要分析派生类的虚函数表(vtable),但是在网上找了好几种Hack vtable方法,结果都不尽如人意。没想到MS Compiler(以VS2010为例)有打印vtable的编译选项,真是太好了!1. 打开“Visual Studio转载 2014-03-07 10:55:22 · 2169 阅读 · 0 评论