C++ 中的型別轉換
本文介紹 C++ 中存在的型別轉換方式。型別轉換通常分為隱式和顯式兩種。
隱式型別轉換
隱式型別轉換也被稱為自動型別轉換,是編譯器在未經使用者外部觸發下完成的。當表示式中存在多於一種資料型別時將發生這種情況。
所有資料型別都將升級到較大變數的資料型別。
bool -> char -> short int -> int -> unsigned int -> long -> unsigned -> long long -> float -> double -> long double
隱式轉換可能導致部分資訊丟失,例如符號。
示例
#include <iostream>
using namespace std;
int main() {
int a = 10;
char b = 'a';
a = b + a;
float c = a + 1.0;
cout << "a : " << a << "\nb : " << b << "\nc : " << c;
}輸出
a : 107 b : a c : 108
顯式型別轉換
顯式型別轉換也被稱為型別轉換。在此,使用者可以將結果強制轉換為特定的資料型別。在 C++ 中,有兩種方法可以實現此功能,一種是使用括號中的表示式,另一種是使用 static_cast 或 dynamic_cast
示例
#include <iostream>
using namespace std;
int main() {
double x = 1.574;
int add = (int)x + 1;
cout << "Add: " << add;
float y = 3.5;
int val = static_cast<int>(y);
cout << "\nvalue: " << val;
}輸出
Add: 2 value: 3
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP