我刚刚从根本上学习了c ++。我试图将int数组转换为字符串,并在网上找到此代码。
int arr[4] = { 1,2,3,4 };
std::string str;
for (int i : arr) {
str.push_back(i + '0');
}
std::cout << str;
return 0;
[请有人为我解释'0'
是什么意思?
'0'是表示符号'0'的字符文字。根据C ++标准(2.3个字符集):
- ...在源和执行基本字符集中,每个字符的值上面的十进制数字列表中0后面的字符应大于1前一个的值。
因此,如果您有字符'0',则表达式'0'+ 1会产生字符'1'的值。表达式'0'+ 2产生字符'2'的值,依此类推。
例如,在ASCII编码系统中,从'0'到'9'的字符具有从48到57(包括两端)的连续值。在EBCDIC编码系统中,从'0'到'9'的字符具有从240到249(包括两端)的连续值。
字面意思是数字0
,这是一个用于表示数字或数字零的字符符号。 C ++使用撇号来表示单个字符文字。
这是语言要求,用于编写C ++源代码的任何字符集必须依次显示数字0到9。因此,i + '0'
会将i
中保存的整数转换为表示该数字的字符值,只要它在0到9的范围内即可。1
变为'1'
的值,依此类推。