摘要:
自我总结:(之前查过goto和switch的资料但是一直没有搞懂,直到今天看到这个讨论才懂了)1 int a; 是个描述,而不是个命令,只是说明我需要空间,编译器会保证在相应的作用域之中这个变量的空间是被分配了(只要改一下堆栈指针就好)。2 大部分编译期实现会选择在函数开始把所有局部变量的空间都分配好。3 声明还可以是一个类的对象,那么这时候这个声明的语句就很可能是一个命令了:调用相应的构造函数。这种情况下,编译器就会告诉你跳过了该做的事情,不能这么写了。之前我的错误理解和这个形容是一样的:vczh(作者)回复yksgj你觉得编译器产生的代码,有可能真的是运行到int ival;这一行,就.. 阅读全文