作者iamstudent (stu)
看板C_and_CPP
標題Re: [問題] OpenGL 動態陣列宣告陣列要放哪?
時間Wed Oct 31 10:41:24 2012
OpenGL本身是C的函數庫
看你程式的用法
應該是想要讀檔案資料
然後其他函數裡面可以使用這個array
所以最快的解法就是使用全域變數
如果覺得全域變數很亂的話
可以準備一個全域物件
幫這個類別寫好函數、準備需要使用到的變數空間
然後glut的callback函數先呼叫到global函數
global函數再轉向呼叫這個物件的成員函數
你要的array就只是這個全域物件的成員變數
成員函數都可以看見
第三個作法是利用callback函數可以註冊static函數
所以也可以寫一個類別
然後裡面的所有物件和函數都是static的
glut的函數指標就直接登記到該物件的static函數上
我個人比較推薦第二個作法
因為寫久之後可以把這全域物件訂出一個抽象類別
就像是樣板一樣
把常用的事件處理改成虛擬函數
寫一個新程式就是去實作一個抽象類別
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.113.210.62
推 coal511464:第二個作法好像很酷....能否列下結構呢?? 謝謝 10/31 10:44
→ coal511464:現在就是有ㄧ個全域變數的陣列卡在那邊 10/31 10:44
→ coal511464:你的意思是 includeㄧ個.h檔之類的? 10/31 10:48
→ iamstudent:是的 10/31 10:58