C++中的线程函数如何访问类中的成员变量

C++中的线程函数如何访问类中的成员变量,第1张

有两种方法:a 定义线程函数为全局函数 b 定义线程函数为类的静态成员函数

针对线程函数为类的静态成员进行说明。如果是静态数据成员,当然可以直接访问,但是如果要访问非静态数据成员,直接访问是做不到的。如果要想在线程函数中访问和 *** 作类的非静态成员变量,可以把线程函数作为一个适配器,在适配器中调用类的非静态成员函数。

类A里的成员,有m_pVt

const修饰函数之后,意思是不能够修改m_pVt

也就是不能将他指向其他的位置

m_pVt->push_back(1);

这行语句修改的是m_pVt里面所存的地址所指向的空间

并不修改m_pVt,所以不违反const原则

就好像你声明一个int const p = a;

你不能修改p的值,但是你可以修改p的值。

类的成员变量只能通过该类声明的对象进行引用;因为类的成员变量在没有对象时,是不存在的抽象的一个数据;

比如,我声明一个骆驼的类, 如果我要引用这个骆驼的体重,那只能先定义一个实际存在的骆驼,才可以得到体重这个数据;如果并不存在这个骆驼实体,那体重是没办法确定的;

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/12183320.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存