[问题] 唯读变量的疑惑

楼主: wwwearn (小勇)   2014-07-29 23:14:15
最近在练习的时候想到一个问题
题目是得样的我有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就有比较省吗
楼主: wwwearn (小勇)   2014-07-29 23:15:00
程式码是宣告3*2的部分跟题目不同请无视...
作者: soheadsome (师大狗鼻哥)   2014-07-29 23:17:00
基本上都一样 会在程式开始后都会先分配内存
作者: VVll (李奥纳多皮卡丘)   2014-07-29 23:56:00
类别内的static变量成员会共用内存
作者: xpride (陈ㄚ智)   2014-07-30 00:12:00
你这问题,从头到尾也只需要一份array完全没有省不省的问题存在阿??
作者: Jockey66666 (往事已成追忆)   2014-07-30 13:26:00
你的座标都是一样的且不能更改就用static const不太懂每个class都这样搞的用意,如果不同class需要参考到一样的座标,那你应该不要把这个座标放在那些需要用到的class里面

Links booklink

Contact Us: admin [ a t ] ucptt.com