Integer val) {
if (val != 0) {
std::string s = "";
unsigned long long tmp = val < 0 ? -val : val ;
int offset = int('0');
char ch;
while (tmp) {
ch = tmp % 10 + offset;
s.push_back(ch);
tmp /= 10;
}
if (val < 0) s.push_back('-');
std::reverse(s.begin(), s.end());
return s;
}
return "0";
}
#ifndef DZR_LEGACY_TOOLCHAIN
std::string to_string(float val) = delete;
std::string to_string(double val) = delete;
std::string to_string(long double val) = delete;
#else
std::string to_string(float val);
std::string to_string(double val);
std::string to_string(long double val);
#endif // !DZR_LEGACY_TOOLCHAIN
push_back и reverse можно заменить на insert
Обсуждают сегодня