C++ 在cpp定义中,wstring::npos等于-1吗?
在这里,我定义了C++ 在cpp定义中,wstring::npos等于-1吗?,c++,C++,在这里,我定义了 int FDString:: ReverseFind(const FDString& searchString, int rend) const { return static_cast(mString.rfind(searchString.mString), rend == nPos ? String::npos : rend); } 我确信std::string::npos在cpp引用中定义为-1,但在wstring中我不确定它是否显式定义为-1?那么我可以
int FDString::
ReverseFind(const FDString& searchString, int rend) const
{
return static_cast(mString.rfind(searchString.mString), rend == nPos ? String::npos : rend);
}
我确信std::string::npos在cpp引用中定义为-1,但在wstring中我不确定它是否显式定义为-1?那么我可以假设std::wstring::npos也是-1吗?npos在std::basic_string
中定义,它是std::string
和std::wstring
的基类
所以这两门课都一样。是的,你可以
wstring
是一个typedef
到basic\u字符串
ifdef UNICODE
#define String std::wstring
#else
#define String std::string
#endif
typedef basic_string<wchar_t> wstring;
nops
是在basic\u string
中定义的,因此这两种类型中的is应该相同
它的定义是
typedef basic_string<char> string;
提及
std::string
和std::wstring
是typedefs
模板的classstd::basic_string
。因此,npo
对两者都是一样的。您也可以使用typedef
或using
而不是“#macros”。谢谢您的澄清谢谢您的澄清
static const size_type npos = -1;