- 浏览: 23643 次
最新评论
文章列表
const总结三 之 常量函数返回值
- 博客分类:
- c++
先贴代码:
class Return
{
public:
Return(void);
~Return(void);
const int getInt();
const int* getIntPointL();
int* const getIntPointR();
};
#include "Return.h"
Return::Return(void)
{
}
Return::~Return(void)
{
}
const int Return::getInt()
{ ...
const总结二 之 常量函数形参
- 博客分类:
- c++
总结:常量函数形参传递参数,保证参数在函数体里面不受修改。有时候,如果形参是指针形参或者引用形参,或者是字符数组,不想函数体对其进行修改,那么可以采用常量函数形参。
实例:
定义EObject类,该类有width和height两个属性,有4个函数对其进行读取和修改。
class EObject
{
public:
EObject(void);
~EObject(void);
int getWidth(){return this->width;}
int getHeight(){return this->height;}
void setWidth( ...
关于指针const
情况一:
int i = 10;
const int* p = &i;
*p = 10 ;
//error C3892: “p”: 不能给常量赋值
情况二:
int i = 10;
int* const p = &i;
p++;
//error C3892: “p”: 不能给常量赋值
总结:编译器会提示报错。原因是 const int* 定义指针所指向的内容是常量, int* const 是定义指针为常量。
技巧:const在*的左边是修饰内容,const在*的右边是修饰指针。
思考:情况1定义了内容为常 ...
源地址:
http://blog.csdn.net/jinciyulang/article/details/8631889
阅读cocos2d-x demo的代码,我们会看到有些头文件中使用CREATE_FUNC这个宏,那么它是做什么的呢?在cocos2d-x 又是起什么作用呢?下面我们就一起来看看CREATE_FUNC宏的源代码:
/**
* define a create function for a specific type, such as CCLayer
* @__TYPE__ class type to add create(), such as CCLayer
...
cocos2d中的坐标系统
- 博客分类:
- cocos2d-x
源网站:http://blog.csdn.net/allenice1/article/details/7727052
sprite的锚点设置
默认锚点:中心
jetSprite.setAnchorPoint(cc.p(0.5,0.5));
锚点:left、bottom(左下角)
jetSprite.setAnchorPoint(cc.p(0,0));
锚点:left、top(左上角)
jetSprite.setAnchorPoint(cc.p(0,1));
锚点:right、bottom(右下角)
jetSprite.setAnchorPoint(cc.p( ...
CocoGUILIB常用控件例子
- 博客分类:
- cocos2d-x
头文件库的引入:
#include "cocos2d.h"
USING_NS_CC;
#include "cocos-ext.h"
USING_NS_CC_EXT;
头文件定义一个变量:
private:
UILoadingBar* loadingbar;
在CPP里面导入头文件:
#include "CocoGUILIB/System/CocosGUI.h"
在init里 ...
CCLabelBMFont效率没有CCLabelAtlas高。
CCLabelBMFont* labelBMFont = CCLabelBMFont::create("cocos2d-x","STXinwei.fnt");
labelBMFont->setPosition(ccp(size.width/2, size.height/2));
addChild(labelBMFont, 101, 101);
需要图片:
CCLabelAtlas* labelAtlas = CCLabelAtlas::create("1946", "fps_images.png", 12, 32, '.');
labelAtlas->setPosition(ccp(size.width/2, size.height/2));
addChild(labelAtlas, 100, 100);
CCLabelAtlas* labelAtlas = CCLabelAtlas::create("1946", "fps ...
std::map是一个很常用的标准容器,采用红黑树或者平衡二叉树来储存节点内容,具有对数复杂度的插入时间和查找时间。这里简单说下它的一些值得注意的关注点。
1 定义map<string, int> my_Map;或者是
typedef map<string, int> MY_MAP;MY_MAP my_Map;
2 插入数据(1) my_Map["a"] = 1;(2) my_Map.insert(map<string, int>::value_type("b",2));(3) my_Map.i ...
内存管理:概述(转)
- 博客分类:
- cocos2d-x
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://4137613.blog.51cto.com/4127613/784134
一、概述
cocos2d-x最初移植自cocos2d的objective C版本。因此,在内存管理上,使用了和NSObject类似的引用计数器方法,相关接口放置在CCObject类中。
二、引用计数器——手动管理内存
cocos2d-x的触碰事件
- 博客分类:
- cocos2d-x
头文件:
//在头文件引入,不要在CPP引入,不然会编译不通过
using namespace cocos2d;
virtual bool ccTouchBegan(CCTouch *pTouch, CCEvent *pEvent);
virtual void ccTouchMoved(CCTouch *pTouch, CCEvent *pEvent);
virtual void ccTouchEnded(CCTouch *pTouch, CCEvent *pEvent);
virtual void onEnter();
virtual void onE ...
cocos2d-x杂记
- 博客分类:
- cocos2d-x
//将数字类型转换成sting类型
template<typename T>
string Convert2String(const T &value)
{
stringstream ss;
ss<<value;
return ss.str();
}
合并字符串:
char* page = new char[9];
sprintf(page,"%d/%d",123,200);
cocos2d-x的更新函数
- 博客分类:
- cocos2d-x
头文件定义更新函数:
void update(float dt);
void hUpdate(float dt);
初始化
bool HelloWorld::init()
{
...
//每帧更新一次 方式一
scheduleUpdate();
//效果同上 方式儿
//schedule(schedule_selector(HelloWorld::update));
//每秒更新一次
schedule(schedule_selector(HelloWorld::hUpdate),1.0f);
//停止默认的更新函数 对方式 ...
定义和使用结构.cpp
#include <iostream>
#include <string>
using namespace std;
struct Student
{
int nID;
char szName[20];
char szAddr[100];
char szPhone[15];
float fScore;
};
void main()
{
//据说此时候s的值是随机的...但是编译不通过
//Student s;
//声明的时候可以这样赋值,非声明的地方不能这样赋值
Stude ...
STL的Vector
- 博客分类:
- STL
//当如上定义后,vecMyHouse就可以存放100个int型的数据了。初始值为0
vector<int> vecMyHouse(100);
// 定义一个容纳100个int型数据的容器,初值赋为0
vector<int> vecMyHouse(100,0);
//将容器的大小改为400,这样容器中就可以容纳400个int型数据了,若原来有数据,不删除
eVector.resize(400);
//初始化
vector<int> eVector(0);
//插入
for (int i=0;i<100;i++)
...