
I'm just wondering if there's a specific reason why boost::program_options::options_description_easy_init::operator() takes arguments (const char*, value_semantic, const char*) instead of (const std::string&, value_semantic, const std::string&)? Nothing major, but it's annoying when you want to pass something like str1+str2 as one of the string arguments.

Zachary Turner wrote:
I'm just wondering if there's a specific reason why boost::program_options::options_description_easy_init::operator() takes arguments (const char*, value_semantic, const char*) instead of (const std::string&, value_semantic, const std::string&)? Nothing major, but it's annoying when you want to pass something like str1+str2 as one of the string arguments.
This avoids implicit constructor call, with associated overhead in code size, for the common case when a literal string is passed. - Volodya
participants (2)
-
Vladimir Prus
-
Zachary Turner