gpt4 book ai didi

c++ - 为什么没有标准化的方法来避免 const 方法代码重复?

转载 作者:可可西里 更新时间:2023-11-01 18:39:03 26 4
gpt4 key购买 nike

<分区>

根据我的经验,在成员方法的 const 和非 const 版本中使用相同的代码是一种常见现象。避免复杂方法代码重复的一种方法是使用 const_cast 删除非 const 版本中的 const-ness,如 Scott Meyers 在 Effective C++(第 3 项)中推荐的那样。然而,这对于可能只返回一个指针的非常短的方法没有好处 - 当然在这种情况下重复不是那么有问题。这仍然让我想知道是否有没有关键字或等效的东西来替换转换的原因。我可以想象使用以下声明:

autoconst Data* const getData() autoconst;

当然,这个关键字不会添加任何以前无法实现的功能,但我认为拥有它会很好。据我所知,auto 关键字同样不允许任何新构造,但它是代码中的一个很好的简化 - 诚然更广泛(如果我错了请纠正我)。

我的问题是这是否与 C++ 标准中的某些规则相冲突 - 如果不相冲突,它是否不够有用而无法实现。

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