C++
文章平均质量分 66
进击的横打
此人不懒,但也什么都没有写
展开
-
(转)using namespace std的讲解
所谓namespace,是指标识符的各种可见范围C++标准程序库中的所有标识符都被定义于一个名为std的namespace中由于namespace的概念,使用C++标准程序库的任何标识符时,可以有三种选择1、直接指定标识符。例如std::ostream而不是ostream。完整语句如下:std::cout 2、使用using关键字。using std::cout;using std:转载 2008-02-23 22:39:00 · 893 阅读 · 0 评论 -
(转)关于Xerces-C++的一篇介绍文章
Xerces-C++是什么? Xerces-C++ 的前身是 IBM 的 XML4C 项目。XML4C 和 XML4J 是两个并列的项目,而 XML4J 是 Xerces-J——Java 实现——的前身。IBM 将这两个项目的源代码让与 Apache 软件基金会(Apache Software Foundation),他们将其分别改名为 Xerces-C++ 和 Xerces-J。这两个项转载 2009-06-02 15:25:00 · 1494 阅读 · 0 评论 -
(转)MCI编程
MCI编程 发表:2005-9-7 13:41:01 出处:你的博客网(yourblog.org) -------------------------------------------------------------------------------- 使用MCI API,源文件中需要包含头文件 Mmsystem.h,在Project->Settings->Link->Object/转载 2009-08-12 09:45:00 · 2339 阅读 · 1 评论 -
(转)char,wchar_t,TCHAR 3者的区别与联系
2. UNICODE WCHAR*到 char * CString str(wchar*);///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////LPCSTR 32-bit 指针,指向一个常量转载 2009-09-04 13:53:00 · 3093 阅读 · 2 评论 -
(转)STL中的适配器
我们知道在STL中函数对象发挥着很大作用: find_if(coll.begin(),coll.end(),bind2nd(greater(),42)); 这里bind2nd就是一个函数对象,他提供了operator()的处理,是的我们可以象调用函数一样操作,这也就是他名字的由来. find_if的第三个参数我们也可以使用传递函数指针,比如 bool mygr转载 2009-07-06 13:55:00 · 753 阅读 · 0 评论 -
(转)bind1st、bind2nd的使用
bind1st和bind2nd函数用于将一个二元算子(binary functor,bf)转换成一元算子(unary functor,uf)。为了达到这个目的,它们需要两个参数:要转换的bf和一个值(v)。 可能这么解释以后大家还不是很清楚,那么就说点白话吧。我们在做比较的时候所写的表达式像 x > k ,x x,k int a[] =转载 2009-07-06 17:22:00 · 913 阅读 · 0 评论 -
(转)不同框架下的C++字符串代码转换
▲QString与char *的相互转化QString str1 = "Test";QByteArray ba = str1.toLatin1();const char *c_str2 = ba.data();printf("str2: %s", c_str2);QString string = QString(QLatin1String(c_str2)) ;或者//中文Windows的缺省内码是转载 2009-09-09 11:12:00 · 1949 阅读 · 0 评论 -
(转)C++代码的一些小细节
1.如果要考虑跨平台,那么就需要避免使用任何的C++扩展,比如”interface”;2.在Win32的API中使用INT_PTR, DWORD_PTR来代替 INT 或 DWORD,这样的代码具有更好移植性;3.将”检测64位可移植性问题”设置为是。万一需要移植,hoho,省事很多阿。4.千万不要假定指针是32位的,所以也就不要将指针转化为UINT32或INT32而是使用intptr_t,否则移转载 2009-09-17 09:32:00 · 844 阅读 · 0 评论 -
C#的委托机制的C++的一种实现DIY版
以下是C#的委托机制的的一个例子,不过只能支持非成员函数版#include ////////////////////////////////////////////////////////////////////////////R 返回值//T 参数///////////////////////////////////////////////////////////////原创 2009-10-19 16:21:00 · 727 阅读 · 0 评论 -
(转)C#的委托机制的C++的一种实现
一直以来总觉的C#的委托机制很好用。因为主要是做C++开发的。所以总是在想能不能在c++下实现下委托机制。先前也实现过几个版本。有的是通过传入对象指针和成员函数的指针的方式,有的是通过模板方式实现的。但这些实现都是在使用是显得很麻烦。要不写出的代码很臃肿。这和我一向的风格很不一致。研究了很久终于有了又一个更好的方案。不敢独享。让大家来指点一下。代码如下://Delega转载 2009-10-19 16:11:00 · 1243 阅读 · 0 评论 -
(转)移植32位程序64位系统
64个系统已经为32位的应用程序准备了运行32位程序的环境,这个环境就是WOW64的。 WOW64 是Windows -32-on-Windows-64 的缩写。它为现有的 32 位应用程序提供了 32 位的模拟,可以使大多数 32 位应用程序在无需修改的情况下运行在 Windows 64 位版本上。它类似于旧的 WOW32 子系统 ,负责在 Windows 32 位版本下运行 16 位的代转载 2009-10-19 17:17:00 · 3384 阅读 · 0 评论 -
经典C/C++面试题(一)
经典C/C++面试题(一)转载 2010-08-30 13:04:00 · 883 阅读 · 0 评论 -
(转)VC中关于GlobalAlloc,GlobalLock,GlobalUnLock
调用GlobalAlloc函数分配一块内存,该函数会返回分配的内存句柄。 调用GlobalLock函数锁定内存块,该函数接受一个内存句柄作为参数,然后返回一个指向被锁定的内存块的指针。 您可以用该指针来读写内存。 调用GlobalUnlock函数来解锁先前被锁定的内存,该函数使得指向内存块的指针无效。 调用GlobalFree函数来释放内存块。您必须传给该函数一个内存句柄。GlobalAllo转载 2009-08-04 16:13:00 · 898 阅读 · 0 评论 -
(转)一个有用的ANSI字符串类String的实现及使用演示
下面的程序分成两个部分:(1)String类:类头String.h和类实现String.cpp(2)String类使用演示程序Main.cpp 类头文件String.h代码如下: #ifndef STRING_H #define STRING_H #include using namespace std; class String { friend ostre转载 2009-03-06 09:34:00 · 921 阅读 · 0 评论 -
C++中的explicit关键字
C++中的explicit关键字用来修饰类的构造函数,表明该构造函数是显式的,既然有"显式"那么必然就有"隐式",那么什么是显示而什么又是隐式的呢?如果C++类的构造函数有一个参数,那么在编译的时候就会有一个缺省的转换操作:将该构造函数对应数据类型的数据转换为该类对象,如下面所示:class MyClass{public: MyClass( int num );}.转载 2008-06-19 09:18:00 · 709 阅读 · 0 评论 -
(转)C,C++的预编译问题
VC中预处理指令与宏定义的妙用刚接触到MFC编程的人往往会被MFC 向导生成的各种宏定义和预处理指令所吓倒,但是预处理和宏定义又是C语言的一个强大工具。使用它们可以进行简单的源代码控制,版本控制,预警或者完成一些特殊的功能。 一个经典的例子 使用预处理与宏定义最经典的例子莫过于加在一个头文件中以避免头文件被两次编译。试想这种的情况,有一个文件headerfile.h转载 2008-02-28 09:48:00 · 842 阅读 · 0 评论 -
(转)标准C++库string及STL相关
标准C++库string及STL相关点击数:818 发布日期:2007-11-17 16:23:00 【收藏】 【评论】 【打印】 【编程爱好者论坛】 【关闭】Tag:vc++ 标准C++库string及STL相关一.标准C++库字符串类std::string的用法#includestd::string s1;std::string s3(s2)转载 2008-03-04 09:46:00 · 957 阅读 · 0 评论 -
(转)增加用户自定义消息
ClassWizard不允许增加用户自定义消息,所以你必须手工输入。输入后,ClassWizard就可以象处理其它消息一样处理你自定义的消息了。下面是增加自定义消息的步骤:第一步:定义消息。开发Windows95应用程序时,Microsoft推荐用户自定义消息至少是WM_USER+100,因为很多新控件也要使用WM_USER消息。第二步:实现消息处理函数。该函数使用WPRAM和LPARAM参转载 2008-03-10 20:53:00 · 756 阅读 · 0 评论 -
(转)进程与进程间通信
摘 要 随着人们对应用程序的要求越来越高,单进程应用在许多场合已不能满足人们的要求。编写多进程/多线程程序成为现代程序设计的一个重要特点,在多进程程序设计中,进程间的通信是不可避免的。Microsoft Win32 API提供了多种进程间通信的方法,全面地阐述了这些方法的特点,并加以比较和分析,希望能给读者选择通信方法提供参考。关键词 进程 进程通信 IPC Win32 API 1 进程与进程转载 2008-03-11 17:11:00 · 793 阅读 · 0 评论 -
友元函数的说明
友元函数说明如下: 1)必须在类的说明中说明友元函数,说明时以关键字friend开头,后跟友元函数的函数原型,友元函数的说明可以出现在类的任何地方,包括在private和public部分; 2)注意友元函数不是类的成员函数,所以友元函数的实现和普通函数一样,在实现时不用"::"指示属于哪个类,只有成员函数才使用"::"作用域符号; 3)友元函数不能直接访问类的成员,只能访问对象成员, 4)友元函数转载 2007-12-19 20:37:00 · 809 阅读 · 0 评论 -
(转)VC++中使用XML
//****************************************//必要的头文件#import //xmlusing namespace MSXML;//****************************************class CXMLControl{//公有方法public: _bstr_t GetNodeText(const char *URL转载 2007-12-29 15:44:00 · 1296 阅读 · 1 评论 -
(转)显式加载DLL并使用 DLL 中的类
首先需要强调,当使用某个类时一般目的有二:实例化成对象或者继承它产生新类。对于前者,我们可以构造一个抽象类(java里的接口)来连接调用方和DLL。 抽象类: // Interface.h 公共文件///////////////////////////////////////////////转载 2008-01-14 11:42:00 · 965 阅读 · 0 评论 -
(转)线程同步技术(一)
使线程同步 在程序中使用多线程时,一般很少有多个线程能在其生命期内进行完全独立的操作。更多的情况是一些线程进行某些处理操作,而其他的线程必须对其处理结果进行了解。正常情况下对这种处理结果的了解应当在其处理任务完成后进行。如果不采取适当的措施,其他线程往往会在线程处理任务结束前就去访问处理结果,这就很有可能得到有关处理结果的错误了解。例如,多个线程同时访问同一个全局变量,如果都是读取操作转载 2008-01-16 11:33:00 · 904 阅读 · 0 评论 -
(转)线程同步技术(二)
互斥内核对象 互斥(Mutex)是一种用途非常广泛的内核对象。能够保证多个线程对同一共享资源的互斥访问。同临界区有些类似,只有拥有互斥对象的线程才具有访问资源的权限,由于互斥对象只有一个,因此就决定了任何情况下此共享资源都不会同时被多个线程所访问。以便其他线程在获得后得以访问资源。与其他几种内核对象不同,互斥对象在操作系统中拥有特殊代码,并由操作系统来管理,操作系统甚至还允许其进行一转载 2008-01-18 14:06:00 · 742 阅读 · 0 评论 -
(转)C++强制类型转换
关于强制类型转换的问题,很多书都讨论过,写的最详细的是C++ 之父的《C++ 的设计和演化》。最好的解决方法就是不要使用C风格的强制类型转换,而是使用标准C++的类型转换符:static_cast, dynamic_cast。标准C++中有四个类型转换符:static_cast、dynamic_cast、reinterpret_cast、和const_cast。下面对它们一一进行介绍。sta转载 2008-01-23 13:30:00 · 854 阅读 · 0 评论 -
(转)用Visual C++制作微秒级精度定时器
在工业生产控制系统中,有许多需要定时完成的操作,如:定时显示当前时间,定时刷新屏幕上的进度条,上位机定时向下位机发送命令和传送数据等。特别是在对控制性能要求较高的控制系统和数据采集系统中,就更需要精确定时操作。众所周知,Windows是基于消息机制的系统,任何事件的执行都是通过发送和接收消息来完成的。这样就带来了一些问题,如一旦计算机的CPU被某个进程占用,或系统资源紧张时,发送到消息队列中转载 2008-04-17 10:06:00 · 1144 阅读 · 0 评论 -
C++技术面试题目
□第一题class Base{public: Base(); ~Base(); int getBaseNum();private: int baseNum;};class A:public Base{public: A(); ~A(); float getBaseNum();private: float baseNum;原创 2012-04-05 13:08:03 · 2094 阅读 · 0 评论