本文整理汇总了C++中VMArray::Clone方法的典型用法代码示例。如果您正苦于以下问题:C++ VMArray::Clone方法的具体用法?C++ VMArray::Clone怎么用?C++ VMArray::Clone使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类VMArray
的用法示例。
在下文中一共展示了VMArray::Clone方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: testCloneArray
void CloneObjectsTest::testCloneArray() {
VMArray* orig = GetUniverse()->NewArray(3);
orig->SetIndexableField(0, GetUniverse()->NewString("foobar42"));
orig->SetIndexableField(1, GetUniverse()->NewString("foobar43"));
orig->SetIndexableField(2, GetUniverse()->NewString("foobar44"));
VMArray* clone = orig->Clone();
CPPUNIT_ASSERT((intptr_t)orig != (intptr_t)clone);
CPPUNIT_ASSERT_EQUAL_MESSAGE("class differs!!", orig->clazz, clone->clazz);
CPPUNIT_ASSERT_EQUAL_MESSAGE("objectSize differs!!", orig->objectSize, clone->objectSize);
CPPUNIT_ASSERT_EQUAL_MESSAGE("numberOfFields differs!!", orig->numberOfFields, clone->numberOfFields);
CPPUNIT_ASSERT_EQUAL_MESSAGE("numberOfFields differs!!", orig->GetNumberOfIndexableFields(), clone->GetNumberOfIndexableFields());
CPPUNIT_ASSERT_EQUAL_MESSAGE("field 0 differs", orig->GetIndexableField(0),
clone->GetIndexableField(0));
CPPUNIT_ASSERT_EQUAL_MESSAGE("field 1 differs", orig->GetIndexableField(1),
clone->GetIndexableField(1));
CPPUNIT_ASSERT_EQUAL_MESSAGE("field 2 differs", orig->GetIndexableField(2),
clone->GetIndexableField(2));
}