本文整理汇总了C++中StringBuilder::canShrink方法的典型用法代码示例。如果您正苦于以下问题:C++ StringBuilder::canShrink方法的具体用法?C++ StringBuilder::canShrink怎么用?C++ StringBuilder::canShrink使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类StringBuilder
的用法示例。
在下文中一共展示了StringBuilder::canShrink方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1:
TEST(StringBuilderTest, ToAtomicString)
{
StringBuilder builder;
builder.append("123");
AtomicString atomicString = builder.toAtomicString();
EXPECT_EQ(String("123"), atomicString);
builder.reserveCapacity(256);
EXPECT_TRUE(builder.canShrink());
for (int i = builder.length(); i < 128; i++)
builder.append('x');
AtomicString atomicString1 = builder.toAtomicString();
EXPECT_EQ(128u, atomicString1.length());
EXPECT_EQ('x', atomicString1[127]);
// Later change of builder should not affect the atomic string.
for (int i = builder.length(); i < 256; i++)
builder.append('x');
EXPECT_EQ(128u, atomicString1.length());
EXPECT_FALSE(builder.canShrink());
String string = builder.toString();
AtomicString atomicString2 = builder.toAtomicString();
// They should share the same StringImpl.
EXPECT_EQ(atomicString2.impl(), string.impl());
}