gpt4 book ai didi

c++ - 为什么 std::slice_array::operator= const?

转载 作者:搜寻专家 更新时间:2023-10-31 01:30:02 25 4
gpt4 key购买 nike

All overloads of assignment operatorsstd::slice_array都是const成员函数,但为什么要这样设计呢?

可能是因为 std::slice_array 被设计成一个代理类,而这些赋值运算符只是修改引用的元素,而没有修改代理类本身,所以它们是 const 是合理的成员函数。但是,为什么 those compound operators std::slice_array 不是 const 成员函数?

最佳答案

对于第一个问题,slice_array只是一个代理类。它具有引用语义,因此它的任何实际成员都不会被任何操作修改,因此将所有内容标记为 const 可以提高可用性。

对于第二个问题,所有运算符声明为const(根据current working draft 返回C++11)。出于同样的原因,赋值运算符是 const。这只是 cppreference 错误识别它们的错误。发生。

关于c++ - 为什么 std::slice_array::operator= const?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48669897/

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