本文整理汇总了C++中StrVec::reserve方法的典型用法代码示例。如果您正苦于以下问题:C++ StrVec::reserve方法的具体用法?C++ StrVec::reserve怎么用?C++ StrVec::reserve使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类StrVec
的用法示例。
在下文中一共展示了StrVec::reserve方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: main
int main() {
StrVec sv;
print(sv);
sv.push_back("s1"); print(sv);
sv.push_back("s2"); print(sv);
sv.push_back("s3"); print(sv);
sv.push_back("s4"); print(sv);
sv.push_back("s5"); print(sv);
{
StrVec sv2(sv); print(sv2);
sv2.push_back("s6"); print(sv); print(sv2);
sv.pop_back(); print(sv); print(sv2);
sv = sv2; print(sv); print(sv2);
}
sv.reserve(sv.capacity() / 2); print(sv);
sv.reserve(sv.capacity() * 2); print(sv);
sv.resize(sv.size() + 2); print(sv);
sv.resize(sv.size() + 2, "s7"); print(sv);
sv.resize(sv.size() - 2); print(sv);
sv.resize(sv.size() - 2, "s7"); print(sv);
return 0;
}
示例2: main
int main()
{
StrVec vec;
vec.reserve(6);
std::cout << "capacity(reserve to 6): " << vec.capacity() << std::endl;
vec.reserve(4);
std::cout << "capacity(reserve to 4): " << vec.capacity() << std::endl;
vec.push_back("hello");
vec.push_back("world");
vec.resize(4);
for (auto i = vec.begin(); i != vec.end(); ++i)
std::cout << *i << std::endl;
std::cout << "-EOF-" << std::endl;
vec.resize(1);
for (auto i = vec.begin(); i != vec.end(); ++i)
std::cout << *i << std::endl;
std::cout << "-EOF-" << std::endl;
StrVec vec_list{ "hello", "world", "pezy" };
for (auto i = vec_list.begin(); i != vec_list.end(); ++i)
std::cout << *i << " ";
std::cout << std::endl;
// Test operator==
const StrVec const_vec_list{ "hello", "world", "pezy" };
if (vec_list == const_vec_list)
for (const auto &str : const_vec_list)
std::cout << str << " ";
std::cout << std::endl;
// Test operator<
const StrVec const_vec_list_small{ "hello", "pezy", "ok" };
std::cout << (const_vec_list_small < const_vec_list) << std::endl;
// Test []
std::cout << const_vec_list_small[1] << std::endl;
}
示例3: desiresCB
void EventsGenerator::desiresCB(const hbba_msgs::DesiresSet::ConstPtr& msg)
{
typedef std::vector<std::string> StrVec;
typedef std::list<std::string> StrList;
typedef std::vector<hbba_msgs::Desire> DesVec;
typedef std::map<std::string,std::string> TypeMap;
const DesVec& desires = msg->desires;
TypeMap typeMap;
StrVec ids;
ids.reserve(desires.size());
for (DesVec::const_iterator d = desires.begin(); d != desires.end(); ++d)
{
ids.push_back(d->id);
typeMap[d->id] = d->type;
}
// First, remove desires not in it the current desires set.
StrList del;
for (Model::const_iterator i = model_.begin(); i != model_.end(); ++i)
{
const std::string& id = i->first;
if (std::find(ids.begin(), ids.end(), id) == ids.end())
del.push_back(id);
}
for (StrList::const_iterator i = del.begin(); i != del.end(); ++i)
{
const std::string& id = *i;
event(id, model_[id].type, hbba_msgs::Event::DES_OFF);
if (model_[id].flags & FLAG_INT)
event(id, model_[id].type, hbba_msgs::Event::INT_OFF);
if (model_[id].flags & FLAG_EXP)
event(id, model_[id].type, hbba_msgs::Event::EXP_OFF);
model_.erase(id);
}
// Then, generate events for new desires.
for (StrVec::const_iterator i = ids.begin(); i != ids.end(); ++i)
{
const std::string& id = *i;
if (model_.find(id) == model_.end())
{
model_[id].flags = FLAG_NONE;
model_[id].type = typeMap[id]; //set type in the model
event(id, model_[id].type, hbba_msgs::Event::DES_ON);
}
}
}