gpt4 book ai didi

c++ - 使用字符数组作为映射中的键

转载 作者:行者123 更新时间:2023-12-01 14:43:29 46 4
gpt4 key购买 nike

我正在尝试使用 char[]作为 map 的键:

#include<iostream>
#include<map>
#include<string>
#include<utility>
#include<list>

using namespace std;

int main(void)
{
map<char[10],int> m;

char c[10]={'1','2','3','4','5','6','7','8','9','0'};
m[c]=78;
return 0;
}
但是抛出一个错误:

error: array used as initializer

second(std::forward<_Args2>(std::get<_Indexes2>(__tuple2))...)


即使这样也行不通: m["abcdefghi"]=4;使用方法 char []作为 key ?我有几个关于 SO 的问题,但它们并没有太大帮助。
注意:我用过 string但我想试试 char[]只是为了好奇

最佳答案

数组既没有复制构造函数也没有复制赋值运算符。并且没有用于数组的默认运算符 <。

使用标准容器 std::array 代替数组.

例如

#include<iostream>
#include <array>
#include<map>

int main()
{
std::map< std::array<char, 10>, int> m;

std::array<char, 10> c = {'1','2','3','4','5','6','7','8','9','0'};
m[c]=78;

return 0;
}

关于c++ - 使用字符数组作为映射中的键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60136080/

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