c++中的成员选择符
c++中支持仅能指向类成员的指针,对这种类型的指针进行数据的提取操作时,可使用如下两种类型的操作符:成员对象选择操作符.* 和 成员指针选择操作符->*
举例:
#include <iostream> using namespace std; struct C { int x; float y; float z; }; int main() { float f; int* i_ptr; C c1, c2; float C::*f_ptr; // a pointer to a float member of C f_ptr = &C::y; //point to C member y c1.*f_ptr = 3.14; // set c1.y = 3.14 c2.*f_ptr = 2.01; // set c2.y = 2.01 f_ptr = &C::z; // point to C member z c1.*f_ptr = -9999.99; //set c1.z = -9999.99 f_ptr = &C::y; //point to C member y c1.*f_ptr = -777.77; // set c1.y f_ptr = &C::x; // ****Error: x is not float**** f_ptr = &f; // ****Error: f is not a float member of C**** i_ptr = &c1.x; //c1.x is an int //... return 0; }
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。