C++ C++;当尝试比较字符串时,什么更好==&引用;或CString.Find()

C++ C++;当尝试比较字符串时,什么更好==&引用;或CString.Find(),c++,C++,正如主题所说。 在C++中,当比较字符串“=”或“代码> cSt.Fund())时,什么更好?< /代码> 我有一个混合的大型应用程序C++和C代码。 我不是C++开发人员,但我可以根据需要阅读和修改代码。 在C++模块中,我们使用了大量的(A= =)(T)(“B”),然后{} /代码>,其中“A”是cSnpe类型。 我发现CString有一个内置的.find方法,不知道它是否是一个更好的选择 感谢比较=to is not apples to apples to apples:operator=

正如主题所说。 在C++中,当比较字符串“=”或“代码> cSt.Fund())时,什么更好?< /代码> 我有一个混合的大型应用程序C++和C代码。 我不是C++开发人员,但我可以根据需要阅读和修改代码。 在C++模块中,我们使用了大量的<代码>(A= =)(T)(“B”),然后{} /代码>,其中“A”是cSnpe类型。 我发现CString有一个内置的
.find
方法,不知道它是否是一个更好的选择


感谢比较
=

to is not apples to apples to apples:operator
=
检查是否相等,而
Find
在第一个字符串中包含第二个字符串时返回
true

// A: "hello"
// B: "hell"
A == _T(B) // FALSE
A.Find(B)  // TRUE
作为
==
的替代方法,您可以使用方法,并检查它返回的结果是否为零:

A.Compare(B) == 0 // FALSE

比较
=
到不是苹果对苹果:运算符
=
检查是否相等,而
Find
在第一个字符串中包含第二个字符串时返回
true

// A: "hello"
// B: "hell"
A == _T(B) // FALSE
A.Find(B)  // TRUE
作为
==
的替代方法,您可以使用方法,并检查它返回的结果是否为零:

A.Compare(B) == 0 // FALSE

首先,在构成当前C++标准的几千页中,没有提到任何代码“代码> cStult/Cuth>。无论这段代码> cSts<代码>是什么,请阅读其代码<查找> <代码>方法的文档,以及其<代码>=过载。除非两者是相同的,而且很可能是它们。不,因为他们做不同的事情,哪一个“更好”对于初学者来说,在组成当前C++标准的几千页中,没有提到任何所谓的“代码> cStule<代码>。无论这个代码> cStult/Cuth>是什么,请阅读其代码<查找> <代码>方法的文档,并针对其<代码>=过载。除非两者是相同的,而且它相当类似。很明显,他们不是——因为他们做不同的事情,哪一个“更好”与此无关。未来注意:
CString::Compare
将等同于C++20版中的
。我一直在寻找一种方法来简化代码,使其看起来更好,但这是没有办法的。不过要知道好信息。谢谢。未来注意:
CString::Compare
将等同于f
当它出现在C++20中时,就开始吧。我一直在寻找一种方法来简化代码,使其看起来更好,但是没有办法做到这一点。不过很好的信息让你知道。谢谢。