gpt4 book ai didi

c++ - 这种用于 const 指针的方法可以吗?

转载 作者:太空狗 更新时间:2023-10-29 20:03:38 25 4
gpt4 key购买 nike

我想为我的数据提供不同级别的常量“访问权限”。例如,取决于是否应修改指针或数据。所以这就是我想出的:

class MyClass
{
int n;
int* ptr_to_data;
int* const const_ptr_to_data;
const int * ptr_to_const_data;
public:
MyClass(int nn)
: n(nn),
ptr_to_data(&n),
const_ptr_to_data(ptr_to_data),
ptr_to_const_data(ptr_to_data)
{
}
~MyClass() { }

int& get_data()
{
return *const_ptr_to_data;
}

const int& get_data() const
{
return *ptr_to_const_data;
}
};

这里的目标是通过限制尽可能多的访问来避免程序员错误。这是一个好的方法,如何让它变得更好?

最佳答案

您对两个 get_data 函数的方法是正确的,但是所有的指针只会让代码更难维护。这就足够了:

int& get_data() { return n; }
const int& get_data() const { return n; }

关于c++ - 这种用于 const 指针的方法可以吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27271976/

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