有两种方法:a 定义线程函数为全局函数 b 定义线程函数为类的静态成员函数
针对线程函数为类的静态成员进行说明。如果是静态数据成员,当然可以直接访问,但是如果要访问非静态数据成员,直接访问是做不到的。如果要想在线程函数中访问和 *** 作类的非静态成员变量,可以把线程函数作为一个适配器,在适配器中调用类的非静态成员函数。
类A里的成员,有m_pVt
const修饰函数之后,意思是不能够修改m_pVt
也就是不能将他指向其他的位置
m_pVt->push_back(1);
这行语句修改的是m_pVt里面所存的地址所指向的空间
并不修改m_pVt,所以不违反const原则
就好像你声明一个int const p = a;
你不能修改p的值,但是你可以修改p的值。
类的成员变量只能通过该类声明的对象进行引用;因为类的成员变量在没有对象时,是不存在的抽象的一个数据;
比如,我声明一个骆驼的类, 如果我要引用这个骆驼的体重,那只能先定义一个实际存在的骆驼,才可以得到体重这个数据;如果并不存在这个骆驼实体,那体重是没办法确定的;
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)