64,639
社区成员
发帖
与我相关
我的任务
分享
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
struct pointer
{
};
size_t add(pointer obj, size_t* _Pos = 0) //Only used for object(Base *) element, it rather an algorithm than a function member.
{
std::pair <std::vector<pointer>::iterator, std::vector<pointer>::iterator> p = std::equal_range(arr.begin(), arr.end(), obj, \
sortorder == 1 ? (_Pos ? sort_by_str_inc <pointer> : sort_by_cmpstr_inc <pointer>) : (_Pos ? sort_by_str_dec <pointer> : sort_by_cmpstr_dec <pointer>));
if (_Pos)
*_Pos = std::distance(arr.begin(), p.first) + 1;
if (p.first == p.second || allowdups())
{
iterator it = arr.insert(p.first, obj);
return std::distance(arr.begin(), it) + 1;
}
else
{
if (!_Pos)
delete obj;
}
return 0;
}
int main()
{
cout << "Hello world!" << endl;
return 0;
}