C++變數宣告初值的方式如下。
C++某些型別如下面的int
及long
變數宣告若未定義值則為隨機的任意值。
main.cpp
#include <iostream>
#include <string>
using namespace std;
int main() {
bool b;
char c;
int i;
long l;
float f;
double d;
string s;
cout << b << endl; // 0
cout << c << endl; // ''
cout << i << endl; // 53674021
cout << l << endl; // 140732919482464
cout << f << endl; // 0
cout << d << endl; // 0
cout << s << endl; // ""
return 0;
}
所以C++宣告變數時最好明確地給予一個初值,設定變數初值的方法有三種:
- C-like initialization - C型初始化
- Constructor initialization - 建構式初始化
- Uniform initialization - 統一初始化/大括弧初始化(C++11標準)
統一初始化是C++11才支援的標準,所以要用C++11標準編譯。
main.cpp
#include <iostream>
#include <string>
using namespace std;
int main() {
// C-like initialization
int a = 1;
string s1 = "foo";
// Constructor initialization
int b(2);
string s2("bar");
// Uniform initialization
int c{3};
string s3{"baz"};
cout << a << endl; // 1
cout << b << endl; // 2
cout << c << endl; // 3
cout << s1 << endl; // foo
cout << s2 << endl; // bar
cout << s3 << endl; // baz
return 0;
}
沒有留言:
張貼留言