diff options
author | Lioncash <mathew1800@gmail.com> | 2018-07-22 15:36:30 -0400 |
---|---|---|
committer | Lioncash <mathew1800@gmail.com> | 2018-07-22 15:36:32 -0400 |
commit | 26a157cd31676f419420078e7d99df90d9fbc910 (patch) | |
tree | 50a66cdeb25823c1f4b7bcf496bb8e92f08bd2e2 /src/common/string_util.cpp | |
parent | cd46b267f5715c0900b409d7bcb97f6bc9a43d9e (diff) |
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.
Diffstat (limited to 'src/common/string_util.cpp')
-rw-r--r-- | src/common/string_util.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/common/string_util.cpp b/src/common/string_util.cpp index 2099eebb8b..6737655a54 100644 --- a/src/common/string_util.cpp +++ b/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); 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(); } |