我在学习C++语言,我有类型转换有些怀疑,你能解释我这样的表达会发生什么: unsigned int u = 10;
int a = -42;
std::cout << u - a << std::endl;
在这里,我知道结果将会是52岁,如果我申请的规则,当我们有两个数学运算符。但我不知道会发生什么时,编译器将转换为无符号值创建一个临时的无符号类型,会发生什么后?现在的表达应该是10
问: 为什么内置类型定义内一个函数体的未初始化的对象有明确的值,而对象的内置式定义外任何功能都被初始化为0或''? 拿这个例子: #include <iostream>
using std::cout; using std::endl;
int ia[10]; /* ia has global scope */
int main()
{
int ia2[10];