比较字符* (C/C++) 的最快方法?

fastest way to compare char* (C/C++)?

本文关键字:方法 C++ 字符 比较      更新时间:2023-10-16

如果我有一个char*是另一个函数的输出,并且我知道它是 10 个已知单词之一,那么找到它是什么的最佳方法是什么?

通过std::string(char*)char*转换为string,然后使用string.compare()

char* c = "hi";
string s = std::string(c);
if (s.compare("hello") )

这是最好的方法吗?我不能直接写:

char* c ="hi";
if(c == "hello")

由于您已经有一个 C 字符串,只需使用strcmp. 它可能比s.compare方法更快,因为您可以避免对原始字符串和要比较的字符串进行std::string转换的开销。

if (strcmp(c, "hello") == 0) {
...