我知道这个问题可能听起来很奇怪,但有一些遗留代码,其中有一个unordered_map其中的std :: string键最大大小为8 + 1(1表示空终止)。C++自定义比较器之间std ::字符串和潜在的非空终止字符数组为unordered_map ::找到
我正在接受char [8]变量中的字符串,我不希望将strcpy仅用于find()调用的temp std :: string。
有没有办法实现一些比较器,所以我可以直接在find()调用中使用char [8]?
请记住,字符[8]可能包含类似“12345678”(无空终止),所以默认的strcmp可能不会工作,虽然也许strncmp会?
在64位机器上,您可以一次复制8个字符。你(微)有多少优化呢? –
正确。 'strncmp(lhs.data(),rhs,8)'是你想要使用的基础。 –
你在使用boost :: unordered_map吗? –