本文整理汇总了C++中QVector::capacity方法的典型用法代码示例。如果您正苦于以下问题:C++ QVector::capacity方法的具体用法?C++ QVector::capacity怎么用?C++ QVector::capacity使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类QVector
的用法示例。
在下文中一共展示了QVector::capacity方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: outOfMemory
void tst_QVector::outOfMemory()
{
fooCtor = 0;
fooDtor = 0;
const int N = 0x7fffffff / sizeof(Foo);
{
QVector<Foo> a;
QSKIP("This test crashes on many of our machines.", SkipSingle);
a.resize(N);
if (a.size() == N) {
QVERIFY(a.capacity() >= N);
QCOMPARE(fooCtor, N);
QCOMPARE(fooDtor, 0);
for (int i = 0; i < N; i += 35000)
a[i] = Foo();
} else {
// this is the case we're actually testing
QCOMPARE(a.size(), 0);
QCOMPARE(a.capacity(), 0);
QCOMPARE(fooCtor, 0);
QCOMPARE(fooDtor, 0);
a.resize(5);
QCOMPARE(a.size(), 5);
QVERIFY(a.capacity() >= 5);
QCOMPARE(fooCtor, 5);
QCOMPARE(fooDtor, 0);
const int Prealloc = a.capacity();
a.resize(Prealloc + 1);
QCOMPARE(a.size(), Prealloc + 1);
QVERIFY(a.capacity() >= Prealloc + 1);
QCOMPARE(fooCtor, Prealloc + 6);
QCOMPARE(fooDtor, 5);
a.resize(0x10000000);
QCOMPARE(a.size(), 0);
QCOMPARE(a.capacity(), 0);
QCOMPARE(fooCtor, Prealloc + 6);
QCOMPARE(fooDtor, Prealloc + 6);
}
}
fooCtor = 0;
fooDtor = 0;
{
QVector<Foo> a(N);
if (a.size() == N) {
QVERIFY(a.capacity() >= N);
QCOMPARE(fooCtor, N);
QCOMPARE(fooDtor, 0);
for (int i = 0; i < N; i += 35000)
a[i] = Foo();
} else {
// this is the case we're actually testing
QCOMPARE(a.size(), 0);
QCOMPARE(a.capacity(), 0);
QCOMPARE(fooCtor, 0);
QCOMPARE(fooDtor, 0);
}
}
Foo foo;
fooCtor = 0;
fooDtor = 0;
{
QVector<Foo> a(N, foo);
if (a.size() == N) {
QVERIFY(a.capacity() >= N);
QCOMPARE(fooCtor, N);
QCOMPARE(fooDtor, 0);
for (int i = 0; i < N; i += 35000)
a[i] = Foo();
} else {
// this is the case we're actually testing
QCOMPARE(a.size(), 0);
QCOMPARE(a.capacity(), 0);
QCOMPARE(fooCtor, 0);
QCOMPARE(fooDtor, 0);
}
}
fooCtor = 0;
fooDtor = 0;
{
QVector<Foo> a;
a.resize(10);
QCOMPARE(fooCtor, 10);
QCOMPARE(fooDtor, 0);
//.........这里部分代码省略.........