C++变量位置
C++ 在C語言部分做了細節上的改進,變量的定義位置就是其中之一。
請看下面的代碼:
#include <stdio.h> int main(){int a;scanf("%d", &a);int b;scanf("%d", &b);int c = a + b;printf("%d\n", c);return 0; }將代碼保存到源文件main.c,那么它可以在 GCC、Xcode 下編譯通過,但在 VC/VS 下會報錯。GCC、Xcode 對 C99 的支持非常好,可以在函數的任意位置定義變量;但 VC/VS 對 C99 的支持寥寥無幾,必須在函數開頭定義好所有變量。
將上面的代碼再保存到源文件main.cpp,那么它在 GCC、Xcode、VC/VS 下都可以編譯通過。這是因為 C++ 取消了原來的限制,變量只要在使用之前定義好即可,不強制必須在函數開頭定義所有變量。
注意源文件的后綴,.c是C語言代碼,.cpp是C++代碼,它們的編譯方式不同。
取消限制帶來的另外一個好處是,可以在 for 循環的控制語句中定義變量,請看下面的例子:
運行結果:
Input a interge: 5 Total: 15在 for 內部定義循環控制變量 i,會讓代碼看起來更加緊湊,并使得 i 的作用域被限制在整個 for 循環語句內部(包括循環條件和循環體),減小了命名沖突的概率。
總結
- 上一篇: Android Studio 创建第一个
- 下一篇: C++函数编译原理和成员函数的实现