原创 C/C++中關於char是有符號還是無符號及其溢出問題

1、char的有無符號類型 char 分爲有符號性(signed)和無符號型(unsigned)兩種: Ø        若是signed型,就意味着取值範圍爲[-128,127]; Ø        若是unsigned型,就意味着取

原创 C++類型重定義詳解

這幾天工作時碰到一個C++的編譯錯誤(我使用的是Visual C++ 7.0),說是有一個類重複定義,仔細想想我們的這個項目也是做了好幾個Relea

原创 C++ 11中關於Lambda表達式(匿名函數)

C++ 98/03 C++ 98/03標準並不原生支持匿名函數。不過可以利用Boost庫的Boost.Lambda來實現一個匿名函數。 C++11 初步瞭解: 很多語言都提供了 lambda 表達式,如 Python,Java 8。l

原创 Cocos中C++11新特性

   Cocos2dx是用C++11編寫的,由於之前工作中並沒有用到這部分。這裏對C++11新特性在Cocos2dx中使用較多的地方做一下歸納。 C++11FAQ:http://www.stroustrup.com/C++11FAQ.ht

原创 創建畫線控件窗口大小改變引起的重繪,保存圖像問題。

當窗口尺寸發生改變引起窗口重繪的問題:   (1)先聲明一個新類。例:畫線控件:class Csave  //聲明的保存類  {   public:     CPoint n;//聲明跟原來一樣的屬性變量     CPoint m;   

原创 SVN源碼服務器搭建-詳細教程

一、引言       筆者曾經試圖在網上搜索一篇關於SVN源代碼服務器搭建方面的中文技術文章,可惜,所找到的,要麼是不完整,要麼就是對筆者沒什麼幫助的文章,TortoiseSvn的幫助文檔固然強大,但因爲是英文,不是很適合來作爲入門者使用

原创 cocos2d-x 源碼分析 : Ref (CCObject) 源碼分析 cocos2d-x內存管理策略

1.Ref,AutoreleasePool,PoolManager Ref中包含了一個叫referenceCount的引用計數,當一個Ref類的變量被new的時候,其referenceCount的引用計數被置爲1。 其中有三個重要的操作

原创 C++標準類型轉換

class   Base_1 { public:     void  function1()     {            cout<<" fu

原创 C++的前置聲明與Exceptional C++中減少編譯時依賴的意義和一些慣用法

1. 剛開始學習c++的人都會遇到這樣的問題: 定義一個類 class A,這個類裏面使用了類B的對象b,然後定義了一個類B,裏面也包含了一個類A的對象a,就成了這樣:   //a.h  #include "b.h"  class A

原创 關於解決Direct中不使用DXUT框架解決.x文件的紋理路徑問題的解決

void EnemyModel::GetMesh(IDirect3DDevice9 *Device, LPCWSTR filename,LPWSTR

原创 C++中內聯函數(inline)詳解

一、?    是指那些定義在類體內的成員函數,也就該函數的函數體放在類內。 二、爲什麼要使用inline函數    首先引入關於調用函數的缺點:函數調用前要先保存寄存器,並在返回時恢復;複製實參;程序還必須轉向一個新位置執行。    

原创 DXUT中線程安全存取宏GET_SETP_ACCESSOR

#define SET_ACCESSOR( x, y )       inline void Set##y( x t )  { DXUTLock l; m_state.m_##y = t; }; #define GET_ACCESSOR

原创 cocos2d-x內存管理機制詳解

本篇文章純粹是自己在寫木頭的卡牌塔防的時候遇到問題的時候,才萌發心思瞭解關於cocos2d-x的內存管理機制;        1.首先要想讓對象參與內存管理機制,必須要繼承Ref類(Node,Layer,等都繼承了該類);       

原创 CMemDC代碼解

CMemDC是一個很經典的內存DC,實現了MFC的雙緩衝繪圖。主題實現思路是,將要繪製的背景繪製到內存中,然後在CMemDC析構的時候繪製到屏幕上。 [cpp] view plaincopyprint? class CMemDC

原创 DXUT框架中CModelCamera

在CModelCamera注意: 定義CModelCamera對象時不要定義爲指針類型的對象,因爲定義爲指針後在處理消息時,會報錯!如:CModelCamera* g; g->HandleMessages( hWnd, uMsg, wPa