
C++
萧乡月夜
这个作者很懒,什么都没留下…
展开
-
C++ Virtual详解
Virtual是C++ OO机制中很重要的一个关键字。只要是学过C++的人都知道在类Base中加了Virtual关键字的函数就是虚拟函数(例如函数print),于是在Base的派生类Derived中就可以通过重写虚拟函数来实现对基类虚拟函数的覆盖。当基类Base的指针point指向派生类Derived的对象时,对point的print函数的调用实际上是调用了Derived的print函数而不是Ba转载 2014-11-30 00:03:08 · 537 阅读 · 0 评论 -
C++ .h #include class
C++头文件相互#include时最好是:(1)在"CA.h"中 #include "CB.h".(2)在"CB.h"中用类的前向声明: class CA;(3)最好加上头文件卫士( #ifndef *** #define *** #endif)示例如下:(1)"CA.h":#ifndef HEADER_CA#define HEADER_CA #inclu转载 2014-12-11 23:20:04 · 980 阅读 · 0 评论 -
Something you should know in C++
1.functionatoiint atoi (const char * str);Convert string to integerParses the C-string str interpreting its content as an integral number, which is returned as a value of t原创 2014-12-15 22:03:37 · 580 阅读 · 0 评论 -
c++中__declspec用法总结
“__declspec”是Microsoft c++中专用的关键字,它配合着一些属性可以对标准C++进行扩充。这些属性有:align、allocate、deprecated、 dllexport、dllimport、 naked、noinline、noreturn、nothrow、novtable、selectany、thread、property和uuid。1,_declspec(1转载 2014-12-23 15:09:45 · 1181 阅读 · 0 评论 -
C++实现Http Post请求
参考资料:http://apps.hi.baidu.com/share/detail/39003388http://blog.youkuaiyun.com/yc0188/article/details/4741871http://bbs.chinaunix.net/thread-2094334-1-1.html//头文件#include #i转载 2014-12-20 14:09:13 · 1554 阅读 · 0 评论 -
C++宏定义详解
一、#define的基本用法 #define是C语言中提供的宏定义命令,其主要目的是为程序员在编程时提供一定的方便,并能在一定程度上提高程序的运行效率,但学生在学习时往往不能 理解该命令的本质,总是在此处产生一些困惑,在编程时误用该命令,使得程序的运行与预期的目的不一致,或者在读别人写的程序时,把运行结果理解错误,这对 C语言的学习很不利。1 #define命令剖析转载 2014-12-03 17:20:28 · 797 阅读 · 0 评论 -
vector.resize 与 vector.reserve的区别
reserve是容器预留空间,但并不真正创建元素对象,在创建对象之前,不能引用容器内的元素,因此当加入新的元素时,需要用push_back()/insert()函数。resize是改变容器的大小,并且创建对象,因此,调用这个函数之后,就可以引用容器内的对象了,因此当加入新的元素时,用operator[]操作符,或者用迭代器来引用元素对象。再者,两个函数的形式是有区别的,reserve函数之转载 2014-12-03 19:03:04 · 455 阅读 · 0 评论 -
C++求数组长度
static std::function createFunctions[] = {#if CC_USE_PHYSICS CL(PhysicsDemoLogoSmash), CL(PhysicsDemoPyramidStack), CL(PhysicsDemoClickAdd), CL(PhysicsDemoRayCast原创 2015-01-07 17:58:40 · 669 阅读 · 0 评论 -
Something you have to know in Cocos2d-x 3.x
1. 如果不想一个对象被释放,那么就要调用对象的retain函数,这样对象不会被内存管理机制杀掉了。当不需要再使用这个对象时,就要调用对象的release函数,这是和retain对应的。一般可以在析构函数里调用release函数。release是主动释放回收,autoRelease由系统判断回收。2. cocostudio::ActionManagerEx::getInstance()-原创 2014-12-16 21:15:48 · 543 阅读 · 0 评论 -
实例介绍Cocos2d-x物理引擎:碰撞检测
碰撞检测是使用物理引擎的一个重要目的,使用物理引擎可以进行精确的碰撞检测,而且执行的效率也很高。在Cocos2d-x 3.x中使用事件派发机制管理碰撞事件,EventListenerPhysicsContact是碰撞事件监听器。碰撞检测相关的API我们在前面一节介绍过了,下面通过一个实例介绍碰撞检测的实现。这个实例的运行后的场景如图所示,当场景启动后,玩家可以触摸点击屏幕,每次触摸时候,就会在转载 2015-01-07 17:54:54 · 922 阅读 · 0 评论 -
【C++专题】static_cast, dynamic_cast, const_cast探讨
首先回顾一下C++类型转换:C++类型转换分为:隐式类型转换和显式类型转换第1部分. 隐式类型转换又称为“标准转换”,包括以下几种情况:1) 算术转换(Arithmetic conversion) : 在混合类型的算术表达式中, 最宽的数据类型成为目标转换类型。 int ival = 3;double dval = 3.14159;转载 2014-12-15 18:51:53 · 480 阅读 · 0 评论 -
C++ iterator->second意思
std::map实际储存了一串std::pairstd::map m = /* fill it */;auto it = m.begin();这里,如果你用*it,那么你将得到map第一个元素的std::pair:现在你可以接收std::pair的两个元素:(*it).first会得到key,(*it).second会得到value。这等同于原创 2015-01-04 20:09:02 · 34727 阅读 · 0 评论