我找到了下面的代码,不明白它的含义:
res>?=m[2];
Run Code Online (Sandbox Code Playgroud)
这是我找到它的代码和它的一些上下文.
vector<int> m(3);
int s = 0;
... do stuff with m ...
res>?=m[2];
return res;
Run Code Online (Sandbox Code Playgroud) 我发现使用C++ STL方法进行简单的集合操作非常笨重.例如,要找到两组之间的差异:
std::set<int> newUserIds;
set_difference(currentUserIds.begin(), currentUserIds.end(), mPreviousUserIds.begin(), mPreviousUserIds.end(), std::inserter(newUserIds, newUserIds.end()));
std::set<int> missingUserIds;
set_difference(mPreviousUserIds.begin(), mPreviousUserIds.end(), currentUserIds.begin(), currentUserIds.end(), std::inserter(missingUserIds, missingUserIds.end()));
mPreviousUserIds = currentUserIds;
Run Code Online (Sandbox Code Playgroud)
boost是否提供了一组替代类,可以将上面的示例缩小为:
set_type<int> newUserIds = currentUserIds.difference(mPreviousUserIds);
set_type<int> missingUserIds = mPreviousUserIds.difference(currentUserIds);
Run Code Online (Sandbox Code Playgroud)
(类似于Qt中的QSet,它operator-
以这种方式覆盖.)