I have this function that takes a string, and gets the text in between 2 given delimiters/texts.
std::vector<std::string> StandardFunctions::split_given_string_two_delimiters(const std::string& str, const std::string& start_delimiter, const std::string& end_delimiter) { std::vector<std::string> split_vector; std::string::size_type start = 0, end; while ((start = str.find(start_delimiter, start)) != std::string::npos) { start += start_delimiter.size(); if ((end = str.find(end_delimiter, start)) == std::string::npos) { break; } split_vector.push_back(str.substr(start, end - start)); start = end + end_delimiter.size(); } return split_vector; }
I dont see any modification/writing to a global var taking place. Each thread has their own strings that are passed to the function aswell. Am i missing something?
https://stackoverflow.com/questions/65855790/what-is-not-thread-safe-about-this-function-c14 January 23, 2021 at 12:39PM
没有评论:
发表评论