int FDString::
ReverseFind(const FDString& searchString, int rend) const
 {
return static_cast(mString.rfind(searchString.mString), rend == nPos ? String::npos : rend);
 }

我在这里定义
ifdef UNICODE
#define String std::wstring
#else
#define String std::string
#endif

我确定std::string::npos在cpp引用中定义为-1,但是在wstring中我不确定它是否明确定义为-1?所以我可以假设std::wstring::npos也是-1吗?

最佳答案

是的你可以。
wstringtypedefbasic_string

typedef basic_string<wchar_t> wstring;

另一方面,string也是typedefbasic_string
typedef basic_string<char> string;
nops是在basic_string中定义的,因此两种类型都应该相同。

它被定义为
static const size_type npos = -1;

引用
  • http://www.cplusplus.com/reference/string/basic_string/
  • http://www.cplusplus.com/reference/string/basic_string/npos/
  • 关于c++ - 在cpp定义中,wstring::npos是否等于-1?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30119023/

    10-11 19:40