本文整理汇总了C++中DataContainer::push_back方法的典型用法代码示例。如果您正苦于以下问题:C++ DataContainer::push_back方法的具体用法?C++ DataContainer::push_back怎么用?C++ DataContainer::push_back使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类DataContainer
的用法示例。
在下文中一共展示了DataContainer::push_back方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: test_contain_assign
void CSTLMemoryTester::test_contain_assign()
{
#ifdef NEED_OPERATOR_FUNC
typedef std::vector<CMyTestData> DataContainer;
DataContainer srcDataContainer;
//除了一开始的时候是构造函数,其他时候都是调用拷贝构造
DECLARE_MYTEST_DATA_COUNT_CHECKER(ConstructCheck,ctConstructCount, 5, __FILE__, __LINE__);
{
for (long i = 0; i < 5; i++)
{
srcDataContainer.push_back(CMyTestData(i, 0));
}
{
DECLARE_MYTEST_DATA_COUNT_CHECKER(ConstructCheck,ctConstructCount, 0, __FILE__, __LINE__);
//赋值时会对容器中的每一个元素调用拷贝构造函数 --
DECLARE_MYTEST_DATA_COUNT_CHECKER(CopyConstructCheck,ctCopyConstructCount, 5, __FILE__, __LINE__);
//超出dstDataContainer的生存周期后释放
DECLARE_MYTEST_DATA_COUNT_CHECKER(DestructCheck,ctDestructCount, 5, __FILE__, __LINE__);
DataContainer dstDataContainer;
dstDataContainer = srcDataContainer;
}
{
DECLARE_MYTEST_DATA_COUNT_CHECKER(ConstructCheck,ctConstructCount, 0, __FILE__, __LINE__);
//assign时会对容器中的每一个元素调用拷贝构造函数 --
DECLARE_MYTEST_DATA_COUNT_CHECKER(CopyConstructCheck,ctCopyConstructCount, 5, __FILE__, __LINE__);
//超出dstDataContainer的生存周期后释放
DECLARE_MYTEST_DATA_COUNT_CHECKER(DestructCheck,ctDestructCount, 5, __FILE__, __LINE__);
DataContainer dstDataContainer;
dstDataContainer.assign(srcDataContainer.begin(), srcDataContainer.end());
}
{
DECLARE_MYTEST_DATA_COUNT_CHECKER(ConstructCheck,ctConstructCount, 0, __FILE__, __LINE__);
DECLARE_MYTEST_DATA_COUNT_CHECKER(CopyConstructCheck,ctCopyConstructCount, 5, __FILE__, __LINE__);
DECLARE_MYTEST_DATA_COUNT_CHECKER(DestructCheck,ctDestructCount, 5, __FILE__, __LINE__);
DataContainer dstDataContainer;
dstDataContainer.reserve(srcDataContainer.size());
std::copy(srcDataContainer.begin(), srcDataContainer.end(),
std::back_insert_iterator<DataContainer>(dstDataContainer));
}
}
#endif
}