1、stable_partition稳定划分和partition不稳定划分。
#include <iostream>
#include <algorithm>
#include <vector>
using
namespace
std;
struct
Student
{
char
name[20];
int
age;
};
ostream &
operator
<<(ostream & os,
const
Student &s)
{
os <<
"("
<<s.name <<
" "
<<s.age <<
")"
;
return
os;
}
bool
AgeCom(Student & s)
{
return
s.age < 30;
}
int
main(
int
argc,
char
*argv[])
{
Student stu[] = {{
"ZhangSan"
,29},{
"LiSi"
,57},{
"WangWu"
,49},{
"ZhaoLiu"
,27}};
copy(stu,stu+4,ostream_iterator<Student>(cout,
" "
));
cout <<endl;
//不稳定的划分
vector<Student> vec(stu,stu+4);
partition(vec.begin(),vec.end(), AgeCom);
copy(vec.begin(),vec.end(),ostream_iterator<Student>(cout,
""
));
cout << endl;
//稳定的划分
vector<Student> vec2(stu,stu+4);
stable_partition(vec2.begin(),vec2.end(),AgeCom);
copy(vec.begin(),vec.end(),ostream_iterator<Student>(cout,
""
));
cout << endl;
}
|
2.TRACE宏
TRACE不是函数而是一个宏,作用就是在调试器的输出窗口产生显示来自你的程序的消息。
在debug下才有效,Release下是没用的,你可以把他看成printf 语句,不过这个语句在Release 下自动消失。
3.STL Containers
3.1 list中的方法如下:
陆续更新中...
本文转自Work Hard Work Smart博客园博客,原文链接:http://www.cnblogs.com/linlf03/archive/2011/09/29/2169460.html,如需转载请自行联系原作者