原帖由 皇家救星 于 2009-12-9 09:50 发表
看情况,例如这个
class Bigger
{
public:
inline bool operator()(int left, int right)
{
return left > right;
}
};
sort(vec_array.begin(), vec_array.end(), Bigger());
由于内联问题,编译时一堆警告,但还是得保留下来(换成函数指针就不会有警告了,但排序10000000的vector,是这种有警告的方法9倍以上)
1500-029: (W) WARNING: subprogram std::_Push_heap<std::_Ptrit<int,long,int *,int &,int *,int &>,long,int,Bigger>(_Ptrit<int,long,int *,int &,int *,int &>, long, long, int, Bigger) could not be inlined into std::_Adjust_heap<std::_Ptrit<int,long,int *,int &,int *,int &>,long,int,Bigger>(_Ptrit<int,long,int *,int &,int *,int &>, long, long, int, Bigger).
1500-029: (W) WARNING: subprogram std::_Adjust_heap<std::_Ptrit<int,long,int *,int &,int *,int &>,long,int,Bigger>(_Ptrit<int,long,int *,int &,int *,int &>, long, long, int, Bigger) could not be inlined into std::_Pop_heap<std::_Ptrit<int,long,int *,int &,int *,int &>,long,int,Bigger>(_Ptrit<int,long,int *,int &,int *,int &>, _Ptrit<int,long,int *,int &,int *,int &>, _Ptrit<int,long,int *,int &,int *,int &>, int, Bigger, long *).
啥编译器? 没有被内联的时候还会通知你? 这功能不错 |