C++之指向成员的指针

c++之指向类成员的指针 1. 指向成员变量的指针 - 定义格式 § 数据类型 类名::*指针名 § 例如 int A::*pParam; - 赋值/初始化 § 数据类型 类名::*指针名 = &类名::非静态数据成员 § int A::*pParam = &A::param - 解引用 § <类对象名>.*<非静态数据成员指针> § <类对象指... 阅读详情

指针是指指向一些内存地址的变量,可以是数据的地址,也可以是函数的地址。

同样,C++的成员指针也遵从同样的概念。但是,C++的成员指针只能指向类内部的成员,并且在类内部是没有地址的; 因此,成员指针要求选择一个对象的同时间接引用成员指针。

以下的例子可以说明如何建立和使用指向数据成员的指针:

#include <iostream>

using namespace std;

class Data
{
public:
   int a, b, c;
   void print()const
   {
       cout << "a = " << a << endl;
       cout << "b = " << b << endl;
       cout << "c = " << c << endl;
   }
};

int main()
{
    Data d, *pd = &d;
    int Data::*pmInt = &Data::a;
    pd->*pmInt = 12;

    pmInt = &Data::b;
    d.*pmInt = 13;

    pmInt = &Data::c;
    pd->*pmInt = 14;

    pd->print();
}

成员指针是受限制的,它只能被指定给在类中的确定的位置,不能像使用普通指针那样增加或比较成员指针。

成员指针总是和对象绑定在一起

C++:指向类的成员的指针 引:     想必接触过C的朋友们对C语言中指针的概念已经有了深入的了解(如果初步进行了解的朋友可以看一下**C语言基础学习笔记**)。指针展开来讲的基本知识点包括:指针的概念、指针的定义和初始化及简单使用、指针函数和函数指针(有关指针函数和函数指针的内容上面的链接中也有介绍)。     不得不说,C++作为C语言的扩展,在面向对象这一主体部分处处体现着指针的思想,好比:指针和引用。之所以这么说,... 阅读详情

相关推荐

物联网技术-第2章-物联网技术架构

• 物联网具有很强的异构性• 为实现异构设备之间的互联、互通与互操作,物联网需要以一个开放的分层的可扩展的为框架。

m0_73804764的博客 2976

C++指针

文章目录前言一、指针变量的声明二、与地址相关的运算三、指针的赋值2.读入数据总结 前言 指针是C++从C中继承过来的重要数据类型,提供了一种较为直接的地址操作手段。正确地使用指针,可以方便、灵活而有效地阻止和表示复杂的数据结构。动态内存分配和管理也离不开指针。 一、指针变量的声明 指针也是一种数据结构,具有指针类型的变量。指针变量适用于存放内存单元地址的。指针也是先声明后使用的,声明指针的语法形式为: 数据类型 *标识符; 如下所示: int *p; 二、与地址相关的运算 C++提供了两个与地址相关的

zhinen丶的博客 2224

用Isaac Sim复现经典案例:手把手教你写Python脚本控制机械臂抓取(附避障算法调试心得)

本文详细介绍了如何使用NVIDIA Isaac Sim仿真系统复现机械臂抓取经典案例,包括Python脚本编写、避障算法调试等关键步骤。通过URDF模型导入、关节控制逻辑实现和RMPFlow避障配置等实战演示,帮助开发者快速掌握机器人仿真技术,特别分享了官方文档未提及的实用调试技巧和性能优化策略。

weixin_30632089的博客 406

C/C++编程:指向数据成员的指针

对于类Point3d: class Point3d{ public: virtual ~Point3d(); //... protected: static Point3d origin; float x, y, z; }; 每一个Point3d类对象有含有三个坐标值x,y,z,以及一个vptr。置于静态数据成员origin,将被放在类对象之外。唯一可能因编译器不同而不同的是vptr的位置。C++标准允许vptr被放在对象中的任何位置。然而实际上,所以编译器不是把vptr放在对象的头部

OceanStar的博客 430

【新华三】DHCP+TFTP+ZTP自动开局实战

设备运行ZTP功能,可以自动获取并自动加载开局文件,实现设备的免现场配置和部署,从而降低人力成本,提升部署效率。使用TFTP服务器工具进行文件的上传和下载,网上很多TFTP server软件,大家可以自行下载。3CDaemon等,可以根据使用自取所需。大家应该都了解ZTP,但是目前发现除了控制器之外仅使用ZTP开局的兄弟并不是很多,因此分享此过程方便大家批量开局,留出更多时间学习更多技术。电脑打开DHCP服务器,TFTP服务器,并通过网线连接到设备的管理口,若设备较多可以通过带外交换机等进行连接,

五大连池的镜子 4979

Jetson AGX Orin 部署 JetPack:从依赖缺失到系统升级的完整排障指南

本文详细介绍了在Jetson AGX Orin开发板上部署JetPack SDK的完整排障指南,包括解决依赖缺失、系统升级和常见错误处理。通过确认硬件版本、配置正确的软件源、执行系统升级和安装核心组件等步骤,帮助开发者顺利完成JetPack的安装与配置,确保AI开发环境的稳定运行。

weixin_29172963的博客 159

C++ 内存与指针

内存管理基础 程序内存模型 静态常量区 // 只读 大小固定 无法管理 调用栈 栈的内存地址是,下面地址大,上面地址小,且在函数体内不要定义特别大的数据和矩阵。 堆 堆的大小较大,甚至可以申请到内存消耗完。 主动分配,主动回收。 ...

weixin_42977223的博客 372

Matlab:imageDatastore() 高效读取图像数据集的实战技巧

本文详细介绍了Matlab中imageDatastore()函数的高效使用技巧,帮助用户从繁琐的手动读取图像数据集中解放出来。通过核心语法、关键参数(如IncludeSubfolders、LabelSource、ReadSize)的解析,以及数据集分割、打乱等进阶实战操作,指导读者构建稳定、高效的图像数据读取管道,特别适用于大型图像数据集处理和机器学习项目。

hill8的博客 1100

C++类和对象--指向类成员的指针

C++类和对象--指向类成员的指针1. 指向普通变量和函数的指针2. 指向类数据成员的指针2.1 定义2.2 赋值&初始化2.3 解引用2.4 案例3. 指向类成员函数的指针3.1 定义3.2 赋值&初始化3.3 解引用3.4 案例3.5 应用之实现隐蔽接口4. 指向类静态成员的指针 1. 指向普通变量和函数的指针 #include <iostream> using namespace std; void func(int a) { cout<<a<&l

qq_43414070的博客 1134

Python 神经计算实训 实训答案分享

【代码】Python 神经计算实训 实训答案分享。

2403_89314916的博客 346

OpenStack [ compute_id ] 设计上的小缺陷

而 nova 代码中硬编码(或默认配置)将 compute_id 放在 site-packages 目录,属于 设计上的小缺陷—— 把 “库安装目录” 和 “运行时数据目录” 混在一起了,才导致需要临时调整这个目录的权限。# 配置项说明:node_identity_file 是 nova 用于指定节点标识文件路径的官方配置项,优先级高于代码中的默认路径。自定义 compute_id 路径,指向 /var/lib/nova/ 目录下的 compute_id 文件;

求知若渴,虚心若愚。 491

C++指针 续

1. 指针常量、常量指针的概念和区别 常量指针是指--指向常量的指针,顾名思义,就是指针指向的是常量,即,它不能指向变量,它指向的内容不能被改变,不能通过指针来修改它指向的内容,但是指针自身不是常量,它自身的值可以改变,从而可以指向另一个常量。 指针常量是指--指针本身是常量。它指向的地址是不可改变的,但地址里的内容可以通过指针改变。它指向的地址将伴其一生,直到生命周期结束。有一点需要注意

Alway_sever的博客 556

Jupyter notebook教程系列(二)Jupyter notebook的基本用法

Jupyter notebook的基本使用   一. 主页面 如图1-1 我们先介绍一下主页面上的内容: 1.Files页面是用于管理创建文件相关类目的。 2.Running页面主要展示的是当前正在运行当中的终端和“ipynb”格式的notebook。若想要关闭已经打开的终端和“ipynb”格式的notebook,仅仅关闭其页面是无法彻底退出程序的,需要在Running页面点击其对...

dlhlSC的博客 1438

C++基础之指向成员的指针

C++中指向成员的指针   一个类有两种基本的成员:函数成员和数据成员。同样的,指向成员的指针也有两种:指向函数成员的指针和指向数据成员的指针。后则其实并不常用,因为类一般是不含有公共数据成员的,仅当用在继承用C写的代码时协调结构(struct)和类(class)时才会用到。   指向成员的指针是C++语法中最难以理解的构造之一,但是这也是一个C++最强大的特性。它可以让你调用一个类的函数成员

daojin505的专栏 454

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

C++指向对象成员函数的指针

指向对象成员函数的指针 对象的成员函数是一个函数,那么,我们可以定义一个函数指针,指向对象的成员函数。但是,该函数指针变量的定义,与普通的函数指针变量定义不同。 首先,我们先看看指向“普通函数”的指针变量的定义方法: 数据类型名 (* 指针变量名)(参数列表); 例如: void (*pf)(int); //定义函数指针pf,指向的函数是带有1个int类型的参数,并且,返回类型是void 所以,它可以指向一个函数,并通过函数指针调用该函数,如下: pf = func;...

LC的专栏 3507

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

c++指向成员的指针

总结了c++语言关于指向成员的指针的相关内容

Yang的专栏 196

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

C++必知必会 - 指向类的数据成员的指针并非指针

与常规指针不同,一个指向成员的指针并不指向一个具体的内存位置,它指向的是一个类的特定成员,而不是指向一个特定对象里的特定成员。通常最清晰的做法是将指向数据成员的指针看作为一个偏移量

程序 = 实践 + 思考 (Programming = Practice + Thinking) 1021

c++从入门到精通——指向类成员的指针

指向类成员的指针 指向成员变量的指针 #include <iostream> #include <string> using namespace std; class A{ public: A(int param){ mParam = param; } public: int mParam; }; void test(){ A a1(100); A* a2 = new A(200); int* p1 = &a1.mParam; int A::*p2 =

mirana的专栏 230

C++指向成员的指针

Copy:https://www.cnblogs.com/hugb/articles/5666063.html

臻 186

55 C++ - 指向类成员的指针

1. 指向成员变量的指针 定义格式: <数据类型> <类名>::*<指针名> 例如: int A::*pPram; 赋值/初始化: <数据类型> <类名>::*<指针名> = &<类名>::<非静态数据成员> 例如: int A::*pParam = &A::param;...

阿甘兄 572

C++ 指向类成员的指针

【代码】C++ 指向类成员的指针。

ljy的博客 289

理解C++类成员指针(指向类成员的指针)

C++编程:指向类成员的指针

ComputerInBook的专栏 547

C++ 创建指向类的成员的指针

#include <iostream> using namespace std; class A { public: A(string _name): name(_name) { } void dis() { cout<<name<<endl; } string na...

开发过程中的记录 514

C++中 指向成员函数的指针

Function pointers are a neat concept, since they basically allow the storage and passing around of functions. But when i was first experimenting with them, i had a hard time finding information about

personmy的专栏 1407

C++指向成员函数的指针

转载:http://www.cnblogs.com/tracylee/archive/2012/11/15/2772176.html C++指向函数的指针定义方式为: 返回类型 (*指针名)(函数参数列表),例如 void (*p)(int)是指向一个返回值为void 参数为int类型的函数。 而若想定义一个指向类成员函数的函数指针该怎么定义呢?对成员函数指针的使用。

sinat_35297665的博客 798
上一篇: C++之拷贝构造函数
下一篇: shell脚本的建立与执行
lm_123_456
博客等级 码龄11年 35粉丝 86原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值