实例变量的确切定义是什么?

Tal*_*ode 4 c++ class instance-variables

我认为实例变量是简单的数据类型,如int或double.创建对象时自动创建的所有内容.

如果一个对象创建了其他对象 - 就像使用NEW关键字完成的所有操作一样 - 这些对象不是实例变量.

我是对还是错?确切的定义是什么?

var*_*tec 18

错误.在实例中绑定的任何内容(即实例化对象)都是实例变量.与静态(类)变量相反,它们绑定到类.它们是简单类型还是指向对象的指针并不重要.


Nav*_*een 6

实例变量是可以与类的实例相关联的变量.例如,如果你有

class A
{
private:
int m_a;
double m_b;
int* m_c;
};
Run Code Online (Sandbox Code Playgroud)

如果创建A的对象(即实例),则创建m_a,m_b,m_c的一个实例并将其与之关联.所以这些变成了实例变量.同时,如果类中有静态变量,则静态变量实例不与类的每个对象相关联,因此它不是实例变量.新建或创建堆栈对象只是创建对象的方式,因此与实例变量无关.


Geo*_*ker 5

来自维基百科(您要求确切的定义):

在使用类的面向对象编程中,实例变量是在类中定义的变量,类中的每个对象都有一个单独的副本.

实例变量与类变量相反,它是一种特殊类型的实例成员.