[問題] 唯讀變數的疑惑

看板C_and_CPP作者 (小勇)時間11年前 (2014/07/29 23:14), 編輯推噓1(108)
留言9則, 5人參與, 最新討論串1/1
最近在練習的時候想到一個問題 題目是得樣的我有5個固定的座標 而這些座標並非任何線性座標也無任何規律 而這些座標只有在某個class中的function用到 那要這麼宣告才是最省記憶體或是最好的方法呢? 1. const int p[3][2]={......}; //方法1 class MyClass { private: static const int p[3][2]; //方法2 public: void MyFun() { static const int p[3][2]={.......}; //方法3 const int p[3][2]={.......}; //方法4 } } const int MyClass::p[3][2]={......}; //方法2定義 int main() { return 0; } 應該用哪種方法比較正確呢?如果只是純粹拿來讀的話 在想如果用static的話每個Class都這樣搞記憶裡不是很浪費嗎? 但是如果用const int就有比較省嗎 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 121.254.69.174 ※ 文章網址: http://www.ptt.cc/bbs/C_and_CPP/M.1406646858.A.D61.html

07/29 23:15, , 1F
程式碼是宣告3*2的部分跟題目不同請無視...
07/29 23:15, 1F

07/29 23:17, , 2F
基本上都一樣 會在程式開始後都會先分配記憶體
07/29 23:17, 2F

07/29 23:56, , 3F
類別內的static變數成員會共用記憶體
07/29 23:56, 3F

07/30 00:12, , 4F
你這問題,從頭到尾也只需要一份array
07/30 00:12, 4F

07/30 00:13, , 5F
完全沒有省不省的問題存在阿??
07/30 00:13, 5F

07/30 13:26, , 6F
你的座標都是一樣的且不能更改就用static const
07/30 13:26, 6F

07/30 13:27, , 7F
不太懂每個class都這樣搞的用意,如果不同class需要
07/30 13:27, 7F

07/30 13:28, , 8F
參考到一樣的座標,那你應該不要把這個座標放在那些
07/30 13:28, 8F

07/30 13:28, , 9F
需要用到的class裡面
07/30 13:28, 9F
文章代碼(AID): #1JrxfArX (C_and_CPP)