gpt4 book ai didi

没有分配的 C++ 索引到字符串映射

转载 作者:太空狗 更新时间:2023-10-29 19:58:27 29 4
gpt4 key购买 nike

我正在编写一个带有不允许分配的高性能线程的应用程序。我有一张看起来像这样的 map :

map<String, MyCustomClass> objectCollection;

其中 String 是 std::string 的自定义包装器。我希望能够在高优先级线程上编写这样的代码:

int someValue = objectCollection["some string"].value;

当我这样做时,对数组进行索引会导致构造一个需要分配的字符串。我的想法是,我可以为我的 map 定义一个自定义比较器,它可以接受一个 const char*,并且能够与 String 的 c 字符串内容进行字符串比较。这可能吗?它看起来如何?

我可以用 String 实例做这样的事情:

String strTest = "";
const char* chars = strTest.chars();

最佳答案

您可以只进行一次分配。

static const string Key("some string");
int someValue = objectCollection[Key];

使用零分配执行此操作将需要不同的字符串类。您会以某种方式利用 const char* 和自定义比较机制。

关于没有分配的 C++ 索引到字符串映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21272092/

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