1

数字の文字列を読み取り、数字を1つずつベクトルにプッシュしたいと思います。

string _inValue = "12345";
vector<int> _value;

void superint::setVector()
{
for(int i=0; i < _inValue.length(); ++i)
{
    _value.push_back(_inValue[i]);
}
}

私がすることはこれです: '1'( 49) の ASCII 値を push_back します。値を持たせたい1

を使用するのが最善の方法_inValue[i]-48ですか?

4

1 に答える 1

4

ASCII '0' の値を減算する必要があります。

_value.push_back(_inValue[i]-'0');

これは、48 のようなマジック ナンバーを使用するよりもはるかに説明的です。

于 2013-03-11T18:13:12.667 に答える