4 ms·
level = 0; int32_t multiplier = 1; for (size_t i = 0; i < raw_level.size(); i++) { const size_t index = raw_level.size() - i - 1; const int8
by ksherlock 4y ago
level = 0;
int32_t multiplier = 1;
for (size_t i = 0; i < raw_level.size(); i++) {
const size_t index = raw_level.size() - i - 1;
const int8_t digit_value = raw_level.at(index) - 48;
level += digit_value * multiplier;
multiplier *= 10;
}
eek. i've always done something like:
level = std::accumulate(raw_level.begin(), raw_level.end(), 0,
[](int a, int c) { return a * 10 + (c - '0') }
);
How does everyone else atoi when you can't atoi (and don't care about overflow etc)