首页 > 其他分享 >成员指针

成员指针

时间:2023-04-10 15:03:52浏览次数:38  
标签:初始化 int 成员 对象 类名 指针


成员指针是C++中用于对类中成员进行操作。

  成员指针的定义格式:成员类型 类名::*指针名=&类名::成员名;

  例:class A

{ 
 
  int m; 
 
  public: 
 
  ... 
 
  };


  定义成员指针:int A::*p=&A::m;


  成员指针和普通指针区别:普通指针用确定对象的地址进行初始化,指向一个确定的对象;成员指针用类的成员(注意不是对象的成员,而是类的成员)初始化(也就是只有 偏移量

的信息,而没有初始地址的信息)。

标签:初始化,int,成员,对象,类名,指针
From: https://blog.51cto.com/u_130277/6180910

相关文章

  • 用 Go 剑指 Offer 57. 和为s的两个数字 (双指针)
    输入一个递增排序的数组和一个数字s,在数组中查找两个数,使得它们的和正好是s。如果有多对数字的和等于s,则输出任意一对即可。 示例1:输入:nums=[2,7,11,15],target=9输出:[2,7]或者[7,2]示例2:输入:nums=[10,26,30,31,47,60],target=40输出:[10,30]或者[30,10] 限......
  • C++指针
    指针指针的基本概念1、指针的作用:可以通过指针间接访问内存(指针就是内存地址)内存编号是从0开始记录的,一般用16进制数字表示可以利用指针变量保存地址指针变量定义的语法#include<iostream>usingnamespacestd;intmain(){ //1、定义指针 inta=10......
  • C-指针数组与数组指针
    指针数组用于存放指针的数组inta=1,b=2,c=3;int*arr[3]={&a,&b,&c};//arr[0]==&a//*arr[0]==aint**p=arr;//*p==arr[0]==&a//p[0]==arr[0]==&a//*(p+1)==arr[1]==&b//**p==*arr[0]==a//*p[0]==*ar......
  • 字符数组指针巩固学习
    1、字符数组的数组名存的就是字符数组的起始地址,类型是字符指针2、str系列字符串函数主要包括strlen,strcpy,strcmp,strcatstrlen:用于统计字符串长度strcpy:用于将某个字符串复制到字符数组中strcmp:用于比较两个字符串的大小,比较对应字符的ASCII码值strcat:用于将两个字符......
  • C++逆向分析——类成员的访问控制
    类成员的访问控制课外→好的编程习惯:定义与实现分开写,提升代码可读性。如下代码,Student这个类的所有成员我们都可以调用,但是我们不想让被人调用Print1这个方法该怎么?structStudent{intage;intsex; voidPrint1(){printf("FuncPrint1");} voidPrint......
  • 颜色分类(数组、双指针)、排列序列(递归、数学)、合并区间(数组、排序)
    颜色分类(数组、双指针)给定一个包含红色、白色和蓝色,一共n__个元素的数组,**原地(https://baike.baidu.com/item/%E5%8E%9F%E5%9C%B0%E7%AE%97%E6%B3%95)**对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。此题中,我们使用整数0、1和2分别表示红色、......
  • 定义Person类包含两个成员变量,结构体构造方法---Java
    packagepracticeHomework;/**定义一个Person类,含有一个String类型的成员变量和一个int型成员变量*分别为这两变量定义访问方法和修改方法*再为该类定义一个speak的方法,输出name和age的值**编写程序,使用Person类,实现数据的访问的修改*/publicclassPerson{......
  • C-多级指针
    多级指针inta=13;int*p0=&a;int**p1=&p0;printf("%p\n",p0);//a的地址printf("%d\n",*p0);//13printf("%p\n",p1);//p0的地址printf("%p\n",*p1);//a的地址printf("%d\n",**p1);......
  • C-指针与数组
    指针与数组数组名是一个指向数组中第一个元素的常量指针.数字数组将一个指针指向一个数字数组,指针中存储了数组中第一个元素的地址.intarr1[]={1,2,3};int*p=arr1;printf("%d",*p);//1"指针表示法"printf("%d",p[0]);//1"数组表示法"printf("%d......
  • 双指针
    前提:双指针算法去重有一个前提,那就是数组已经是有序的状态。若数组并非有序,可以在使用本次算法之前先使用排序算法将数组转换成有序数组。本次算法为原地算法即额外空间复杂度为O(1)。本文将使用整数型数组arr作演示,其中arr的元素为0,0,1,2,2,3,5。算法讲解:首......