Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/139.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 在cpp定义中,wstring::npos等于-1吗?_C++ - Fatal编程技术网

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
模板的
class
std::basic_string
。因此,
npo
对两者都是一样的。您也可以使用
typedef
using
而不是“#macros”。谢谢您的澄清谢谢您的澄清
static const size_type npos = -1;