感悟:C++是一門語法非常嚴謹的語言,只是指針就很難掌握,這其中肯定要經歷很多折騰,特別是自學者。
折騰了一年半的C++,在即將畢業之際,對Unity3d游戲開發感興趣,先是用cocos2dx開發了個人游戲,但是cocos2dx的坑絕對深,只是3D模塊的模型導入就不支持fbx文件,而是寫了一些不常有的3維軟件的解析,制作3D游戲的標准看來還沒有統一。
1、C#指針:C#限制用戶聲明指針,連使用都受到非常大的限制,個人感覺與其不要用。
2、C#的數組聲明:
//聲明一維數組 int []array1; int []array2 = new int[5];//聲明並初始化大小 int []array3 = new int[5]{1,3,5,7,9};//聲明並初始化元素 int []array4 = {1,3,5,7,9};//或者這樣來創建 //聲明二位數組 string [ , ] str1=new string[2,3]; string [ , ] str2 = {{1,2,3},{4,5,6}}; //交叉數組 //交錯數組是一維數組,且每個元素自身是一個數組。作為元素的數組無需均為相同的大小,交錯數組是儲存數組的數組。 string [][]=new string[2][];//這是C++二維數組的聲明
foreach()訪問數組中的元素
int []number={1,2,3,4,5,6,7,8,9}; foreach(int i in number) { System.Console.Write(i); } //C++基於范圍的for循環 for(int i : number) { cout<<i<<endl; } //c++遍歷容器方法for_each for_each(book.begin(),book.end(),out);
對象數組:
創建對象數組(而非創建像整數這樣的簡單數據類型的數組)的過程分為兩個部分。首先聲明數組,然后必須創建存儲在數組中的對象。
namespace CDCollection { // Define a CD type. class CD { private string album; private string artist; private int rating; public string Album { get {return album;} set {album = value;} } public string Artist { get {return artist;} set {artist = value;} } public int Rating { get {return rating;} set {rating = value;} } } class Program { static void Main(string[] args) { // Create the array to store the CDs. CD[] cdLibrary = new CD[20]; // Populate the CD library with CD objects. for (int i=0; i<20; i++) { cdLibrary[i] = new CD(); } // Assign details to the first album. cdLibrary[0].Album = "See"; cdLibrary[0].Artist = "The Sharp Band"; cdLibrary[0].Rating = 10; } } }
//對象數組是這樣的。