原创 深度探索c++對象模型之placement operator new語意

       首先談談new、delete和operator new、operator delete的區別:new和delete只是c++中的運算符

原创 編程學習筆記之java相關::內存回收原理

     不同於C語言或C++等其它語言,java有着自己的一套垃圾內存回收機制。在java中,除了基本類型外,其它如類對象等,都是在堆上分配內存的,但這並不影響java的性能,事實上,java在堆上分配內存的效率,甚至可以和C++在棧上

原创 深度探索c++對象模型之template中的名稱決議方式

      我們應該能夠區分以下兩種意義:一個是c++ standard標準中的“scope of the template definition”

原创 深度探索c++對象模型之vptr初始化語意學

      接上文,還是這個圖,還是這個繼承關係:     其中它們的構造順序是,是從內到外、從根源到末端。所以對一個PVertex對象來說,它的構造順序是:1、Point   2、Point3d  3、Vertex  4、Vertex

原创 深度探索c++對象模型之臨時對象的探討

      如果我們有一個自定義類類型T,裏面有一個int變量x,再在裏面定義了一個operator+【T operator+( const T& _a, const T& _b)】,然後我們聲明瞭3個T對象a、b、c,當我們寫【c =

原创 從0開始如何開發貪喫蛇遊戲

      作爲一款經典遊戲,貪喫蛇相信很多朋友都玩過,規則簡單易上手。但您有沒有想過自己製作一款貪喫蛇遊戲呢?鄙人最近有意學習MFC,所以先拿貪喫蛇練了一下手。接下來就介紹一下這款最簡陋的貪喫蛇的開發歷程。       首先是開發環境的

原创 編程學習筆記之c++相關::vector學習心得

vector介紹:      在c++中,vector是一個可以存儲各種類型對象的集合容器,可以把它看成一種能夠動態【喫胖】或【減肥】的數組。vector是一個類模板,使用【vector<T>】格式可以生成一個模板類,考慮到vector容

原创 關於“application package “package” must have a minimum of 2 segments”的解決方法

原因:在Android開發環境中,要求package包名必須得是2級以上;   解決辦法:在項目的對應的目錄中,找到【proj.android】文件夾下的【AndroidAanifest.xml】文件,打開它,修改第三行的內容,比如改成【

原创 C++中的單例模式設計

      有時也許我們會遇到這樣的狀況:創建一個類,但只想讓這個類實例化一個對象,那麼應該怎麼辦呢?這就是c++中的單例設計模式。我是今天讀書時看到這樣一種奇怪的設計模式,作爲一種學習方式,我決定把它寫成一篇短博來鞏固我的記憶。   

原创 C++11中的新特性raw介紹

我們都知道,在經典c++中,如果我們要在一個字符串輸出中顯示【\n】、【"】等特殊字符,需要使用到轉義字符,就像下面的例子中一樣:... string s = "在c++中,如果要換行請輸入\\n,如果要顯示雙引號則要輸入

原创 坦克小戰的遊戲規則說明(2)

驚弓之鳥 通過對敵酋的盤問我們發現,原來所謂的敵酋不過是一個做了骯髒交易的傀儡,真正的幕後大反派是蟹星人!蟹星是一個遙遠而強大的星球,星球上的居民都刀槍不入;但某天蟹星人

原创 深度探索c++對象模型之template的錯誤報告

      考慮下面的template聲明【裏面有不少錯誤】: template< class T > class Mumble { public$: //第一處錯誤,非法標識符$ Mumble( T t=1024 ) //第二處錯誤

原创 編程學習筆記之Java相關:包的概念和使用

      類似操作系統中的文件目錄結構,Java也利用包來組織和管理類,一個包中可以包含着一些圍繞某個主題的類。 包中還可以有子包,這就形成了包的層次結構。       對於類來說,類中所有成員的名字都是互不相干的,比如類A與類B中都有

原创 深度探索c++對象模型之臨時對象的傳說

 前文聲明:這篇文章最大的特點是幾乎原文照抄!       有一種說法是,由於臨時對象的產生,c++的執行會浪費掉不少效率,因此在以前的計算機界,c++只能成爲FORTRAN等主流語言之外的第二語言。還有不少人認爲,這種效率上的浪費足以掩

原创 深度探索c++對象模型之類全局對象的初始化與析構

      與C語言相比,c++複雜的地方有很多,其中之一就是對全局對象的初始化。在C語言中很簡單,不管是內帶類型還是自定義的結構體類型,如果聲明爲全局對象並且我們沒有給它們一個顯示的常量初始化的話,那麼它們都會被0默認初始化。但在c++