C/C++
尘墨mxy
这个作者很懒,什么都没留下…
展开
-
static的一点理解
贴出来看。 #includevoid add(){ static t=0; t++; printf("\n%d",t);}void main(){ add(); add();} 先猜猜结果是什么?? 对了。是 1 ,2说明原来static定义过一次的变量在程序没有结束之前是不会被delete的,而原创 2013-07-23 17:02:37 · 439 阅读 · 0 评论 -
C++友元函数的介绍
1.友元函数的简单介绍1.1为什么要使用友元函数在实现类之间数据共享时,减少系统开销,提高效率。如果类A中的函数要访问类B中的成员(例如:智能指针类的实现),那么类A中该函数要是类B的友元函数。具体来说:为了使其他类的成员函数直接访问该类的私有变量。即:允许外面的类或函数去访问类的私有变量和保护变量,从而使两个类共享同一函数。实际上具体大概有下面两种情况需要使用友元函数:(1)运算转载 2013-10-03 19:48:01 · 572 阅读 · 0 评论 -
sprintf_s, _sprintf_s_l, swprintf_s, _swprintf_s_l
函数原型int sprintf_s( char *buffer, size_t sizeOfBuffer, const char *format [, argument] ... );int _sprintf_s_l( char *buffer, size_t sizeOfBuffer, const char *format原创 2013-08-12 18:43:14 · 922 阅读 · 0 评论 -
指向Class Member的指针
T1.h#includeusing namespace std;class T1{public: typedef void (T1::*ptrType)(int ); void show(int);};T1.cpp#include"T1.h"void T1::show(int m){ cou原创 2013-10-03 23:17:10 · 564 阅读 · 0 评论 -
虚函数之多态讲解
虚函数联系到多态,多态联系到继承。所以本文中都是在继承层次上做文章。没了继承,什么都没得谈。下面是对C++的虚函数这玩意儿的理解。一, 什么是虚函数(如果不知道虚函数为何物,但有急切的想知道,那你就应该从这里开始)简单地说,那些被virtual关键字修饰的成员函数,就是虚函数。虚函数的作用,用专业术语来解释就是实现多态性(Polymorphism),多态性是将接口与实现进行转载 2013-10-04 12:37:07 · 394 阅读 · 0 评论 -
C++ protected的用法
#includeusing namespace std;class A{protected: int m;};class B: public A{public: void show() { m=10; cout<<"m is :"<<m<<endl; }};void main(){原创 2013-10-04 13:14:18 · 2029 阅读 · 0 评论 -
C++关于typeinfo
T1.h#include#includeusing namespace std;class T1{public: T1(int n=5) { m=n; } void show(); int m;}; T1.cpp#include"T1.h"void T1::show(){ cout原创 2013-10-04 22:31:48 · 2040 阅读 · 0 评论 -
异常机制和sstream类的运用
#include#include#include#includeusing namespace std;void m(){ static string msg ; ostringstream ex_msg; int a=4; ex_msg<<"hello is "<<a<<" index_"; msg = ex_msg.str();原创 2013-10-05 10:32:52 · 438 阅读 · 0 评论 -
cocos2d-x定时器
笨木头花心贡献,啥?花心?不呢,是用心~转载请注明,原文地址:http://blog.csdn.net/musicvs/article/details/8551066正文: 1. 不调用update函数,调用自己的函数其实原理是一样的,我们调用scheduleUpdate的时候,系统默认每帧去调用update函数,但如果我们想调用自己的函数呢?很简单,先给Hell转载 2013-10-07 18:02:48 · 457 阅读 · 0 评论 -
C++的单例模式
面试中有被问到这个,然后不会。。晚上回来果断补习 单例模式也称为单件模式、单子模式,可能是使用最广泛的设计模式。其意图是保证一个类仅有一个实例,并提供一个访问它的全局访问点,该实例被所有程序模块共享。有很多地方需要这样的功能模块,如系统的日志输出,GUI应用必须是单鼠标,MODEM的联接需要一条且只需要一条电话线,操作系统只能有一个窗口管理器,一台PC连一个键盘。 单例转载 2013-09-24 22:30:17 · 329 阅读 · 0 评论 -
C++ static的作用
1、什么是static? static 是C++中很常用的修饰符,它被用来控制变量的存储方式和可见性。 2、为什么要引入static? 函数内部定义的变量,在程序执行到它的定义处时,编译器为它在栈上分配空间,大家知道,函数在栈上分配的空间在此函数执行结束时会释放掉,这样就产生了一个问题: 如果想将函数中此变量的值保存至下一次调用时,如何实现? 最容易想到的转载 2013-09-25 19:21:37 · 2536 阅读 · 0 评论 -
C++二级指针的用法
char **p和char *p[]基本一样,区别讲不出来,写个例子体会吧。#include using namespace std;void main(){ // 第一种初始化方法 char **p = new char *[10]; // 赋值后正常使用 p[0] = "aaa"; cout0] // 值可转载 2013-11-18 15:35:09 · 2596 阅读 · 0 评论 -
C++ 多线程与进程的使用
第 10 章 多线程与网络编程初步 教学提示:Windows 是一个支持多任务的操作系统。当在一个程序中需要启动另外一个程序时,需要用到多进程的编程方式。如果一个进程中有一些相似的任务需要同时推进,可以为每个任务建立一个线程,从而形成多线程的编程。随着网络技术的广泛应用,网络编程也越来越受到重视,网络编程主要使用 Winsock 技术。教学目标:掌握进程的创建与终止及相应的管转载 2013-12-07 21:47:17 · 1280 阅读 · 0 评论 -
C++多线程面向对象封装
相信很多人都读过《C++沉思录》这本经典著作,在我艰难地读完整本书后,留给我印象最深的只有一句话::“用类表示概念,用类解决问题”。关 于多线程编程,如果不是特别需要,大多数开发人员都不会特意去触碰这个似乎神秘的领域。如果在某些场合能正确并灵活地运用,多线程带来的好处是不言而喻 的。然而,任何事物都有两面性,如果程序中引入多线程,那么我们需要谨慎小心地处理许多与之相关的问题,其中最突出的就是:转载 2013-12-08 12:05:38 · 667 阅读 · 1 评论 -
C语言调用函数指针
#includeusing namespace std;void max(int a, int b){// return a>b ? a: b; cout<<"hello"<<endl;}int main(){ void (*p)(int x,int y); p =max; p(3,4);// int maxnum原创 2013-10-03 14:13:18 · 585 阅读 · 0 评论 -
CCNotificationCenter处理消息事件
define CLICK_TEST_MSG "whatever_unique" // 添加监听 void GameMgr::addListener() { CCNotificationCenter* t_pNotiCenter = CCNotificationCenter::sharedNotificationCenter(); SEL_Call原创 2013-09-25 20:54:51 · 2515 阅读 · 0 评论 -
WM_KEYDOWN消息的类型
1 VK_LBUTTON 鼠标左键2 VK_RBUTTON 鼠标右键 3 VK_CANCEL Ctrl+Break(通常不需要处理) 4 VK_MBUTTON 鼠标中键 8 VK_BACK Backspace 9 VK_TAB Tab 12 VK_CLEAR Num Lock关闭时的数字键盘5 13 VK_RETURN Enter(或者另一个) 16 VK_SH转载 2013-07-30 22:55:04 · 2409 阅读 · 0 评论 -
关于浅莫的透明贴图的详细解释
看过了浅莫的游戏代码的大家都知道,浅莫贴图的时候都会调用这两个函数 BitBlt(mdc,x,y,w,h,bufdc,w*num,h,SRCAND); BitBlt(mdc,x,y,w,h,bufdc,w*num,0,SRCPAINT); 以前一直都没怎么懂,今天就好好的理解了下,然后把我的理解分享给大家。前面的 BitBlt(mdc,x,y,w,h,bufdc,w*原创 2013-08-05 21:58:06 · 1028 阅读 · 0 评论 -
不能从const char *转换为LPCWSTR 经常碰到
在VS2010经常用win32遇到不能从const char *转换为LPCWSTR的问题,下面是解决办法 在VC 6.0中编译成功的项目在VS2005 vs2005、vs2008、vs2010中常会出现类型错误。经常出现的错误是:不能从const char *转换为LPCWSTR如使用MessageBox(hwnd,"TEST",NULL,0)就会报错,如果使用强制转转载 2013-08-06 21:56:40 · 555 阅读 · 0 评论 -
MultiByteToWideChar函数
函数功能:该函数映射一个字符串到一个宽字符(unicode)的字符串。函数原型:int MultiByteToWideChar(UINT CodePage,DWORD dwFlags,LPCSTR lpMultiByteStr,int cchMultiByte,LPWSTR lpWideCharStr,int cchWideChar); 如果函数运行成功转载 2013-08-12 18:30:08 · 766 阅读 · 0 评论 -
Rect类
rect对象用来存储一个矩形框的左上角坐标、宽度和高度。描述矩形的宽度、高度和原点。命名空间: System.Windows程序集: System.Windows(在 System.Windows.dll 中)句法 class Rect成员表 构造函数描述Rect::Rect()转载 2013-08-12 23:09:07 · 618 阅读 · 0 评论 -
DrawText函数的讲解
函数原型int DrawText(HDC hDC, // 设备描述表句柄LPCTSTR lpString, // 将要绘制的字符串int nCount, // 字符串的长度LPRECT lpRect, // 指向矩形结构RECT的指针UINT uFormat // 正文的绘制选项);参数hdc:[输入]设备环境句柄。lpString:[输入]指向将被原创 2013-08-12 18:50:33 · 12924 阅读 · 0 评论 -
SetCooperativeLevel函数介绍(设置协作等级)
函数声明function SetCooperativeLevel(hWnd: HWND; dwFlags: DWORD): HResult; stdcall;参数介绍hWnd DirectDraw具体指向的窗体,在所有的情况下,只需使用主窗体句柄。dwFlags控制标志参数,直接影响DirectDraw和Windows协同工作的方式。下面为说明:DDSCL_AL转载 2013-08-13 11:25:25 · 417 阅读 · 0 评论 -
C++引用的介绍
C++中的引用【导读】介绍C++引用的基本概念,通过详细的应用分析与说明,对引用进行全面、透彻地阐述 引用是C++引入的新语言特性,是C++常用的一个重要内容之一,正确、灵活地使用引用,可以使程序简洁、高效。引用简介引用就是某一变量(目标)的一个别名,对引用的操作与对变量直接操作完全一样。引用的声明方法:类型标识符 &引用名=目标变量名;【例转载 2013-09-29 15:20:02 · 387 阅读 · 0 评论 -
C++函数指针的运用
在C/C++中存在着函数指针,即指向函数的指针。我目前已知的两种使用方法是: [cpp] view plaincopyprint?#include #include typedef int* PINNT; #define PP int* int funcA(int a,int b); int funcB(int* a,int *b);转载 2013-10-02 19:26:41 · 532 阅读 · 0 评论 -
关于继承中子类和父类中构造函数和析构函数运行的顺序,和继承的多态
构造函数: 父类的先执行,子类的后执行析构函数: 父类的后执行,子类的先执行 T1.h //父类#ifndef k //防止头文件重复包含的问题#define k #includeusing namespace std;class T1{public: T1() { cout<<"T1's constructor is run原创 2013-10-04 00:03:10 · 1259 阅读 · 0 评论 -
C++枚举
includeusing namespace std;void main(){ enum type1{hello,OK}; type1 m; m=hello; cout<<"m is :"<<m<<endl; m=OK; cout<<"m is :"<<m<<endl; int p=1; static_cast(p); /原创 2013-10-04 11:59:22 · 391 阅读 · 0 评论 -
关于C++中纯虚函数的介绍
纯虚函数: virtual int getsno() =0;虚函数 : virtual int getsno(); 比如说你要开发一个class A。你同事小明要开发一个class B : public A。class A里面有一个function叫getName。A是一个抽象里,并没有具体的空间保存name。这时候你有两个选择。选择1:class A {原创 2013-10-04 12:15:29 · 509 阅读 · 0 评论 -
C++基础复习之this关键字
this在C++中其实只是一个指向调用者的指针。假如我们要写一个copy函数,将T t1,转换成成T t2里的值(T是一个类)其中len和sum是T中的属性 T & copy(const T & t2){ len =t2.len; sum = t2.sum return ??? // 这里ret原创 2013-10-03 14:09:05 · 496 阅读 · 0 评论 -
STL来生成和操作.plist文件
发布了多个平台,生成和解析plist文件,这里只给出windows平台下的应用。下载使用方法如下:read a plist from disk whose root node is adictionary:map dict; Plist::readPlist("binaryExample1.plist", dict); To write a plist转载 2014-01-23 23:42:26 · 702 阅读 · 0 评论