看板 C_and_CPP 關於我們 聯絡資訊
最近在練習的時候想到一個問題 題目是得樣的我有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
wwwearn:程式碼是宣告3*2的部分跟題目不同請無視... 07/29 23:15
soheadsome:基本上都一樣 會在程式開始後都會先分配記憶體 07/29 23:17
VVll:類別內的static變數成員會共用記憶體 07/29 23:56
xpride:你這問題,從頭到尾也只需要一份array 07/30 00:12
xpride:完全沒有省不省的問題存在阿?? 07/30 00:13
Jockey66666:你的座標都是一樣的且不能更改就用static const 07/30 13:26
Jockey66666:不太懂每個class都這樣搞的用意,如果不同class需要 07/30 13:27
Jockey66666:參考到一樣的座標,那你應該不要把這個座標放在那些 07/30 13:28
Jockey66666:需要用到的class裡面 07/30 13:28