gpt4 book ai didi

c++ - 什么是选择器和修改器?

转载 作者:行者123 更新时间:2023-12-01 14:48:08 25 4
gpt4 key购买 nike

在这里this article ,这家伙正在写一个 STL 兼容的前缀树。

Then we have the selectors and mutators.

/* Selectors */
const_iterator find(const key_type& key) const;
size_type size() const;
size_type max_size() const;
bool empty() const;
reference at(const key_type& key);
const_reference at(const key_type& key) const;

/* Mutators */
iterator find(const key_type& key);
std::pair<iterator, bool> insert(const key_type& key, const mapped_type& value);
std::pair<iterator, bool> insert(const value_type& value);
iterator insert(const_iterator hint, const value_type& value);
reference operator[] (const key_type& key);
void erase(const key_type& key);
iterator erase(iterator pos);
void clear();


我虽然首先认为它们类似于 settersgetters . selectors获取存储在容器内部或容器周围的一些数据,以及 mutators改变容器的状态。不过好像有点不一样。例如,有一个名为 at 的选择器函数返回一个非常量引用类型(我认为这样可以更改容器的内容)。 Selectors的定义是什么?和 Mutators ?

最佳答案

这些只是代码作者选择的名称,而不是具有正式定义的术语。从上下文中可以清楚地看出,他们将任何修改容器的东西称为“Mutators”,将允许从容器中获取元素或获取有关容器的信息的任何东西称为“选择器”。尽管如此,它们并不完全一致,因为 find不会改变容器,我宁愿将它列在“选择器”下。

there is a selector function called at that returns a non-const reference type



也许原因是引用允许调用者修改容器中的元素,而不是容器本身。

关于c++ - 什么是选择器和修改器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61266341/

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