#include "iostream"
#include "vector"
using namespace std;
//静态数组初始化vector, pair和vector混合使用
void stlTest()
{
struct baseStruct
{
int a;
int b;
baseStruct(int x, int y) : a(x), b(y)
{
}
};
static baseStruct staticArrayOne[] = {baseStruct(1,1), baseStruct(2,2), baseStruct(3,3), baseStruct(4,4)};
static baseStruct staticArrayTwo[] = {baseStruct(5,5), baseStruct(6,6), baseStruct(7,7), baseStruct(8,8)};
enum enumType
{
First,
Second,
};
typedef pair<vector<baseStruct>, enumType> TestPair;
#define countof(array) (sizeof(array)/sizeof(array[0]))
static TestPair staticPair[] =
{
make_pair(vector<baseStruct>(staticArrayOne, staticArrayOne + countof(staticArrayOne)), First),
make_pair(vector<baseStruct>(staticArrayTwo, staticArrayTwo + countof(staticArrayTwo)), Second),
};
static vector<TestPair> staticPairVec(staticPair, staticPair + countof(staticPair));
for (auto it = staticPairVec.begin(); it != staticPairVec.end(); ++it)
{
if ((*it).second == Second)
{
cout << "find" << endl;
return;
}
}
}
void main()
{
stlTest();
}
#include "vector"
using namespace std;
//静态数组初始化vector, pair和vector混合使用
void stlTest()
{
struct baseStruct
{
int a;
int b;
baseStruct(int x, int y) : a(x), b(y)
{
}
};
static baseStruct staticArrayOne[] = {baseStruct(1,1), baseStruct(2,2), baseStruct(3,3), baseStruct(4,4)};
static baseStruct staticArrayTwo[] = {baseStruct(5,5), baseStruct(6,6), baseStruct(7,7), baseStruct(8,8)};
enum enumType
{
First,
Second,
};
typedef pair<vector<baseStruct>, enumType> TestPair;
#define countof(array) (sizeof(array)/sizeof(array[0]))
static TestPair staticPair[] =
{
make_pair(vector<baseStruct>(staticArrayOne, staticArrayOne + countof(staticArrayOne)), First),
make_pair(vector<baseStruct>(staticArrayTwo, staticArrayTwo + countof(staticArrayTwo)), Second),
};
static vector<TestPair> staticPairVec(staticPair, staticPair + countof(staticPair));
for (auto it = staticPairVec.begin(); it != staticPairVec.end(); ++it)
{
if ((*it).second == Second)
{
cout << "find" << endl;
return;
}
}
}
void main()
{
stlTest();
}