Browse Source

string_util: Use emplace_back() in SplitString() instead of push_back()

This is equivalent to doing:

push_back(std::string(""));

which is likely not to cause issues, assuming a decent std::string
implementation with small-string optimizations implemented in its
design, however it's still a little unnecessary to copy that buffer
regardless. Instead, we can use emplace_back() to directly construct the
empty string within the std::vector instance, eliminating any possible
overhead from the copy.
nce_cpp
Lioncash 8 years ago
parent
commit
cd09896057
  1. 5
      src/common/string_util.cpp

5
src/common/string_util.cpp

@ -162,8 +162,9 @@ void SplitString(const std::string& str, const char delim, std::vector<std::stri
std::istringstream iss(str); std::istringstream iss(str);
output.resize(1); output.resize(1);
while (std::getline(iss, *output.rbegin(), delim))
output.push_back("");
while (std::getline(iss, *output.rbegin(), delim)) {
output.emplace_back();
}
output.pop_back(); output.pop_back();
} }

Loading…
Cancel
Save