我希望重载operator []。我希望接受一个std :: wstring :: iterator作为此方法的参数。但是,我希望增加这个迭代器,直到我到达wstring的末尾。有没有办法做到这一点?这里有一些伪代码,希望能让我的命题明确:
MyClass operator[](std::wstring::iterator it)
{
/* Obviously this wstring::iterator::parent method is a figment
* of my imagination; but hopefully it'll give the reader some
* idea what I wish to achieve. */
while (++it != it.parent_wstring.end())
{ party(); }
}
我曾尝试与类型转换的nullptr进行比较,如下所示:
if (it == (std::wstring::iterator)nullptr)
{ party(); }
并且有这个奇妙的想法:
if (it == std::wstring(L"").end())
{ party(); }
但都没有奏效。如果上述任何一种努力都引起了畏缩,那么道歉(以及一些欣喜若狂的虐待狂)。
答案 0 :(得分:0)
知道了。几分。
if (*it == 0)
{ party(); }
这让我成为我想要的派对。请鼓励任何其他答案(这可能是一个比基本上解除引用结束迭代器更好的想法)!我要去了解我有多少可以依赖那个零点。