关于类属性的有关问题!
关于类属性的问题!!
像下面两种方式定义类
class A
{
public:
A();
virtual ~A();
protected:
int m_Id;
CString m_Name;
double m_Mark;
}
class B
{
public:
B();
virtual ~B();
protected:
int* m_Id;
CString* m_Name;
double* m_Mark;
}
像这样在类的属性中,定义指针型的变量和非指针型的变量有什么不同。
有那些优缺点?或者说只是习惯的问题呢?
------解决方案--------------------
根据你的用途了
占用空间也不相同
如果定义的是变量的话,占得空间大一些,但是用的时候不用再分配空间
如果是指针的话,用的时候可能要分配空间(或让它指向一块内存)
------解决方案--------------------
这个问题不好回答,得根据你程序要实现的功能具体考虑用什么类型。
LZ还是对指针不熟,建议多了解,多看别人的程序你很快就会明白为什么有的地方必须用指针。
------解决方案--------------------
如果定义的是变量的话,占得空间大一些,但是用的时候不用再分配空间
如果是指针的话,用的时候可能要分配空间(或让它指向一块内存)
------解决方案--------------------
如果定义的是变量的话,占得空间大一些,但是用的时候不用再分配空间
如果是指针的话,用的时候可能要分配空间(或让它指向一块内存)
像下面两种方式定义类
class A
{
public:
A();
virtual ~A();
protected:
int m_Id;
CString m_Name;
double m_Mark;
}
class B
{
public:
B();
virtual ~B();
protected:
int* m_Id;
CString* m_Name;
double* m_Mark;
}
像这样在类的属性中,定义指针型的变量和非指针型的变量有什么不同。
有那些优缺点?或者说只是习惯的问题呢?
------解决方案--------------------
根据你的用途了
占用空间也不相同
如果定义的是变量的话,占得空间大一些,但是用的时候不用再分配空间
如果是指针的话,用的时候可能要分配空间(或让它指向一块内存)
------解决方案--------------------
这个问题不好回答,得根据你程序要实现的功能具体考虑用什么类型。
LZ还是对指针不熟,建议多了解,多看别人的程序你很快就会明白为什么有的地方必须用指针。
------解决方案--------------------
如果定义的是变量的话,占得空间大一些,但是用的时候不用再分配空间
如果是指针的话,用的时候可能要分配空间(或让它指向一块内存)
------解决方案--------------------
如果定义的是变量的话,占得空间大一些,但是用的时候不用再分配空间
如果是指针的话,用的时候可能要分配空间(或让它指向一块内存)