Open1

C++テンプレートの使い方の疑問など

log5log5

数値を桁ごとにばらして配列にする関数を作った。
(小数点が入ってくると-2になるのはいったん無視するとして...)

template <typename T>
vector<T> array_from(T num) {
    string s = to_string(num);
    vector<T> res;
    for (const char &c: s) res.push_back(c - '0');
    return res;
}

ここで、 res.pushba_back(c - '0') について、 c - '0' の型を特に明示していないけど、push_back 時に特にエラーにならないのは、内部で型推論が行われていると考えていいだろうか🤔