当前位置: 首页 > news >正文

网站建设seo运营规划网站建设 三牛

网站建设seo运营规划,网站建设 三牛,怎么做网站代理商,做网站需求需要沟通什么C法则22:运算符 ::* 和 ->* 和 ::* 是独特的整体运算符,是不可分的。1. ::*(成员指针声明符)作用:用于声明一个指向类成员的指针。语法:ReturnType (ClassName::*pointerName) &ClassName::MemberN…

C++法则22:运算符 ::* 和 ->* 和 ::* 是独特的整体运算符,是不可分的。

1. ::*(成员指针声明符)

  • 作用:用于声明一个指向类成员的指针。

  • 语法

    ReturnType (ClassName::*pointerName) = &ClassName::MemberName;

  • 示例

    class MyClass {
    public:int value;void print() { std::cout << value; }
    };// 指向成员的指针
    int MyClass::*ptr_to_value = &MyClass::value;
    void (MyClass::*ptr_to_func)() = &MyClass::print;

2. ->*(通过对象指针访问成员指针)

  • 作用:通过对象指针(ClassName*)和成员指针(ClassName::*)访问成员。

  • 语法

    (objectPtr->*memberPointer)
  • 示例

    MyClass obj;
    MyClass* objPtr = &obj;// 通过 ->* 访问成员
    (objPtr->*ptr_to_value) = 42;    // 等价于 obj.value = 42
    (objPtr->*ptr_to_func)();        // 调用 obj.print()

3. .*(通过对象访问成员指针)

  • 作用:通过对象(ClassName)和成员指针(ClassName::*)访问成员。

  • 语法

    (object.*memberPointer)
  • 示例

    MyClass obj;// 通过 .* 访问成员
    (obj.*ptr_to_value) = 42;       // 等价于 obj.value = 42
    (obj.*ptr_to_func)();           // 调用 obj.print()

关键点:

  1. 不可分割性

    • ::*->* 和 .* 是独立的运算符,不能拆开(例如 ->* 不是 -> 和 * 的组合)。

    • 它们的优先级和结合性是语言规定的,与其他运算符不同。

  2. 成员指针的特殊性

    • 成员指针不是普通指针,而是与类关联的“偏移”或“访问方式”。

    • 需要结合对象或对象指针才能实际访问成员。

  3. 使用场景

    • 常用于回调、泛型编程或需要动态选择成员的情况。


完整示例:

#include <iostream>class MyClass {
public:int value = 0;void print() { std::cout << "Value: " << value << std::endl; }
};int main() {// 声明成员指针int MyClass::*ptr_to_value = &MyClass::value;void (MyClass::*ptr_to_func)() = &MyClass::print;MyClass obj;MyClass* objPtr = &obj;// 通过 .* 访问(obj.*ptr_to_value) = 10;(obj.*ptr_to_func)();// 通过 ->* 访问(objPtr->*ptr_to_value) = 20;(objPtr->*ptr_to_func)();return 0;
}

输出:

text

Value: 10
Value: 20

理解这些运算符的独特性对掌握C++的成员指针机制至关重要!

http://www.dtcms.com/a/470300.html

相关文章:

  • 锦州网站推广企业vi设计公司案例
  • 【vLLM】源码解读:模型如何找到自己初始化的类
  • 简述网站建设基本流程答案益阳有专做网站的吗
  • 网站备案期间网站开发的软件有哪些
  • 记录一个本地服务运行定时任务(控制台应用程序)
  • 高效处理 Excel 海量数据入库:编程脚本、CSV 中间件、图形工具优化全攻略
  • 如何打开国外网站龙江网站建设
  • 网站服务器空间选择长沙专业的网站建设企业
  • redis向量库安装
  • 世纪购网站开发招聘外链推广论坛
  • C++动态规划入门指南——助力CSP竞赛夺冠
  • 优化后端避免k8s HPA成为鸡肋
  • GESP C++ 二级拓展课(二)
  • Repository Contribution Count Action:开源贡献者的专属统计神器
  • B4414 [GESP202509 三级] 日历制作
  • 手机网站分页设计广州网站推广排名
  • 基于 EtherCAT 转 MODBUS RS485 的轧辊轴承智能温控系统应用
  • oa报表网站开发工作室设计
  • vue3中图片裁切组件封装
  • 从 0 到 1 搭建 Python 语言 Web UI自动化测试学习系列 15--二次开发--封装公共方法 3
  • 做新媒体文的网站网站开发 ppt
  • 东莞市建设局网站电子商务网站建设教程 pdf
  • numpy第三方库学习(更新中)
  • 【开题答辩全过程】以 报考意向分析系统为例,包含答辩的问题和答案
  • Spring AI
  • ssm速通1(2/2)
  • Android GPS定位与行车轨迹追踪完整实战
  • [持续更新] HPC高性能计算CUDA/C++面试知识点
  • 【有源码】基于Hadoop生态的大数据共享单车数据分析与可视化平台-基于Python与大数据的共享单车多维度数据分析可视化系统
  • 上海做网站推荐做景观要用的植物网站