第3章讲了很多类型转换的内容。
先回忆一下C++这方面的知识。C++是强类型语言,所以写代码时,必须选择一种类型,为此,《C++ Primer》还给出了「如何选择类型」的建议,C++中类型转换的规则就取决于「类型所能表示的值的范围」,转换发生在算术类型之间。注意这里算术类型包括整型和浮点型,而整型又包括字符和布尔类型。
「字符」就引出了我想重点说的,JavaScript和C++自动转换的区别。由于JavaScript是没有C++中字符的概念,只有字符串:
字符串可以由双引号(")或单引号(')表示
通过两个例子可以看出二者的差别:
// JavaScript
var x = 'a';
var y = Number(x);// y为NaN
// C++
string s = "10";
int a = s;// a不是10