本文整理汇总了C++中Obj::reserve方法的典型用法代码示例。如果您正苦于以下问题:C++ Obj::reserve方法的具体用法?C++ Obj::reserve怎么用?C++ Obj::reserve使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Obj
的用法示例。
在下文中一共展示了Obj::reserve方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: parseObj
inline Val parseObj()
{
Obj obj;
// Skip '{'
++idx;
// Empty object
if(isC('}')) goto end;
// Reserve some memory
obj.reserve(10);
while(true)
{
// Read string key
if(!isC('"')) throwError("Invalid object", std::string{"Expected `\"` , got `"} + getC() + "`");
auto key(readStr());
// Read ':'
if(!isC(':')) throwError("Invalid object", std::string{"Expected `:` , got `"} + getC() + "`");
// Skip ':'
++idx;
// Read value
obj[std::move(key)] = parseVal();
// Check for another key-value pair
if(isC(',')) { ++idx; continue; }
// Check for end of the object
if(isC('}')) break;
throwError("Invalid object", std::string{"Expected either `,` or `}`, got `"} + getC() + "`");
}
end:
// Skip '}'
++idx;
return Val{obj};
}