//此处根据0还是1来判断具体使用那一段主函数
#if 0
#define WAY
#endif
#ifdef WAY
#include <iostream>
#include<string.h>
#include<stdio.h>
#include<algorithm>
#include<vector>
#include <iomanip>
using namespace std;
int g_width=4;
int main() {
/*将数组赋值给vector的方法*/
int a[10]={1,2,3,4,5,6,7,8,9,10};
cout <<"sizeof(a)"<<(sizeof(a)/sizeof(int))<<endl;
vector<int> vec(a,a+(sizeof(a)/sizeof(int)));
//容器的逆序排列
reverse(vec.begin(),vec.end());
//vector<int>::iterator i;
cout.width(g_width);
cout<<"a=";
for(int i=0;i<10;i++)
{
cout.width(g_width);
cout <<setiosflags(ios::internal)<< a[i];
}
cout << endl;
cout.width(g_width);
//cout.fill(9);
cout<<"vec=";
for(int i=0;i<10;i++)
{
//cout格式化输出,位宽为4个字节
cout.width(g_width);
cout<< vec[i];
}
cout << endl;
return 0;
}
#else
#include <iostream> // std::cout
#include <algorithm> // std::fill
using namespace std;
int main () {
int array[8]={0}; // myvector: 0 0 0 0 0 0 0 0
cout<<"=======begin======="<<"\n";
for (int i = 0;i< 8;i++)
cout << ' ' << array[i];
cout << '\n'<<'\n';
fill (array,array+4,9); // myvector: 5 5 5 5 0 0 0 0
fill (array+3,array+6,9); // myvector: 5 5 5 8 8 8 0 0
cout<<"=======after fill======="<<"\n";
for (int i = 0;i< 8;i++)
cout << ' ' << array[i];
cout << '\n'<<'\n';
/*这里的用法和memset类似,但是看来还是memset使用起来方便*/
const int a=sizeof(array)/sizeof(int);
fill (array,array+a,0);
for (int i = 0;i< 8;i++)
cout << ' ' << array[i];
cout << '\n'<<'\n';
return 0;
}
#endif