gpt4 book ai didi

c++ - 从 C++ 中的 int 指针返回一个只读指针

转载 作者:行者123 更新时间:2023-11-30 01:59:15 25 4
gpt4 key购买 nike

我在一项作业中被要求实现 IntList,这是一个动态 int 数组列表,其私有(private)成员为“int *p”。实现所有方法(添加、查找、删除等)后,我找不到如何实现公共(public)方法返回:

  • 获取指向底层数组的只读指针。

我怎样才能返回一个有 *p 数字的指针,它的内容不能改变?

最佳答案

您需要编写与此类似的代码:

class A {
int *tab;

public:
A() {
tab = new int[3];
tab[0] = 1;
tab[1] = 4;
tab[2] = 6;
}

const int * get() {
return tab;
}
};

int main() {
A *a = new A();
//(a->get())[0] = 2;
}
  • 然后您将能够看到表的内容,但无法在类之外更改它的值。

  • 尝试取消最后一行的注释将导致得到这个错误:分配只读位置‘* a->A::get()’:)

关于c++ - 从 C++ 中的 int 指针返回一个只读指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16452218/

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