gpt4 book ai didi

c++ - 运算符 [] 是否接受 C++ 中除整数以外的类型?

转载 作者:行者123 更新时间:2023-12-05 09:36:17 25 4
gpt4 key购买 nike

为了学习,我正在尝试将 Dictionary 从 python 重新创建为 C++。

我希望能够将下标运算符 [] 与 keyType(这是字典中键的数据类型,可能是 int、string...等)一起使用,我试过这种方法(我使用链表):

    // keyFind is the value to be found
void operator[](keyType keyFind) {
typeList* trav; // typeList is an alias for: linked_list<keyType, valType>
for (trav = head; trav != nullptr; trav = trav->next) {
if (trav->key == keyFind) {
cout << trav->val << endl;
break;
}
}
}

void 返回类型是 future 返回类型的占位符。

我的问题是:我应该使用这种方法还是应该简单地使用普通函数,哪个被认为是最佳实践

最佳答案

Does the operator [] accepts types other than ints in C++?

运算符重载只是函数,它们可以像其他函数一样接受任何参数类型。所以,是的。

C++ 标准库已经提供了 std::unordered_mapstd::map,它们在大多数情况下类似于 Python 字典。

关于c++ - 运算符 [] 是否接受 C++ 中除整数以外的类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65276795/

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