English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
دليل C++
في هذا الدرس، سنتعلم الأساسيات للتحويلات في C ++ باستخدام أمثلة.
يُسمح لك ب ++ بتحويل بيانات من نوع إلى نوع آخر. هذا يُسمى تحويلًا.
التحويل التلقائي
التحويل التلقائي (أيضًا يُسمى التحويل القسري)
التحويلات ذات الصلة: تحويل تحويل السلسلة إلى int C++ تحويل C ++ String إلى float / double
التحويل الذي يتم القيام به تلقائيًا من قبل المترجم يُسمى التحويل التلقائي. هذا النوع من التحويل يُسمى أيضًاالتحويل التلقائي。
لننظر في مثالين لتحويل الأنواع التلقائية.
// كيف يعمل التحويل التلقائي للأنواع #include <iostream> using namespace std; int main() { // تخصيص قيمة لبيانة num_int int num_int = 9; // إعلان بيانة double double num_double; // التحويل التلقائي // تخصيص قيمة int لبيانة double num_double = num_int; cout << "num_int = " << num_int << endl; cout << "num_double = " << num_double << endl; return 0; }
النتيجة
num_int = 9 num_double = 9
في البرنامج، قمنا بتخصيص بيانات int لبيانات double.
num_double = num_int;
في هذا السياق، قبل تخصيص قيمة int لبيانة num_double، يتم تحويلها تلقائيًا إلى double. هذا مثال على التحويل التلقائي للأنواع.
// كيف يعمل التحويل التلقائي للأنواع #include <iostream> using namespace std; int main() { int num_int; double num_double = 9.99; // التحويل التلقائي // تخصيص قيمة double لبيانة int num_int = num_double; cout << "num_int = " << num_int << endl; cout << "num_double = " << num_double << endl; return 0; }
النتيجة
num_int = 9 num_double = 9.99
في البرنامج، قمنا بتخصيص بيانات double لبيانات int.
num_double = num_int;
في هذا السياق، قبل تخصيص قيمة double للمتغير num_int، يقوم المترجم بتحويلها تلقائيًا إلى int. هذا مثال على التحويل التلقائي للأنواع.
الاحتياط:بما أن int لا يمكن أن يكون له جزء عشري، تم قطع الأرقام بعد النقطة في المثال السابق.
من الممكن رؤية أن تحويل البيانات من نوع إلى آخر يمكن أن يؤدي بسهولة إلى فقدان البيانات. يحدث ذلك عندما يتم تحويل بيانات نوع أكبر إلى نوع أصغر.
عندما يقوم المستخدم بتحويل البيانات يدويًا من نوع إلى آخر، يُسمى هذاتحويلات واضحةهذا النوع من التحويل يُسمى أيضًاتحويل القوة。
يمكننا استخدام ثلاث طرق رئيسية لاستخدام التحويلات التوضيحية في C++. هم:
تمثيل تحويل النوع C (أيضًا يُسمى رمز التحويل القوة)
تمثيل وظيفة النوع (أيضًا يُسمى نمط C++ القديم للتحويلات)
عناصر تحويل النوع
بشكل واضح، هذا النوع من التحويل يتأثرلغة البرمجة Cيُفضلتمثيل تحويل القوة。
هذا النوع من الجملة هو:
(data_type)expression;
على سبيل المثال،
// 初始化int变量 int num_int = 26; // 声明double变量 double num_double; // 从int转换为double num_double = (double)num_int;
يمكننا أيضًا استخدام وظائف مشابهة للتحويل بين أنواع البيانات.
هذا النوع من الجملة هو:
data_type(expression);
على سبيل المثال،
// 初始化int变量 int num_int = 26; // 声明double变量 double num_double; // 从int转换为double num_double = double(num_int);
#include <iostream> using namespace std; int main() { // 初始化double变量 double num_double = 3.56; cout << "num_double = " << num_double << endl; // 从double到int的C风格转换 int num_int1 = (int)num_double; cout << "num_int1 = " << num_int1 << endl; // 从double到int的函数样式转换 int num_int2 = int(num_double); cout << "num_int2 = " << num_int2 << endl; return 0; }
النتيجة
num_double = 3.56 num_int1 = 3 num_int2 = 3
نستخدمتحويل النوع بنمط C++وتحويل النوع بنمط الوظيفة لتحويل النوع،وعرض النتيجة. لأنهما يؤديان نفس المهمة، فإنهما يقدمان نفس الناتج.
إضافة إلى هذين عمليات التحويل، يحتوي C++ على أربعة عمليات تحويل النوع. وتسمىعناصر تحويل النوعهم:
static_cast
dynamic_cast
const_cast
reinterpret_cast
سنكتشف هذه التحويلات الإجبارية في تعليمات لاحقة.