gpt4 book ai didi

c++ - 不是那么明显的指针

转载 作者:太空狗 更新时间:2023-10-29 21:08:46 25 4
gpt4 key购买 nike

我有一个类:

class X{
public :
void f ( int ) ;
int a ;
} ;

任务是“在代码内部提供声明:

  • 指向类 X 的 int 变量的指针
  • 指向类 X 中定义的函数 void(int) 的指针
  • 指向类 X 的 double 变量的指针"

好的,所以指向 int a 的指针将只是 int *x = &a,对吗?如果 X 中没有 double,我是否可以在此类中创建指向 double 的指针?而最大的问题是第二个任务。如何声明指向函数的指针?

最佳答案

这些被称为 pointers to members .它们不是常规指针,即不是地址,而是类实例的“某种”偏移量(使用虚函数有点棘手。)所以:

  1. int X::*ptr_to_int_member;
  2. void (X::*ptr_to_member_func)( int );
  3. 双 X::*ptr_to_double_member;

关于c++ - 不是那么明显的指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2496689/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com