Cách ép kiểu trong c

Khóa học Lập trình Lập trình C++ Kchất hóa học xây dựng C++ căn uống bản Ép kiểu tường minh trong C++ (Explicit type conversion in C++)

Dẫn nhập

Tại bài học kinh nghiệm trước, các bạn đang cố gắng được tổng quan tiền về nghiền loại dữ liệu và chuyên môn ÉP KIỂU NGẦM ĐỊNH TRONG C++ (Implicit type conversion).

Bạn đang xem: Cách ép kiểu trong c

Hôm ni, mình đang chia vẫn thêm một cách xay kiểu tài liệu thứ 2, sẽ là Ép giao diện tường minch vào C++ (Explicit type conversion).

Nội dung

Để hiểu phát âm bài bác này rất tốt các bạn đề xuất gồm kiến thức cơ bản về các phần:

Trong bài bác ta đã cùng mày mò các vấn đề:

Ép dạng hình tường minh vào C++ (Explicit type conversion)

Ép giao diện tường minch vào C++ (Explicit type conversion)

Trong bài ÉPhường KIỂU NGẦM ĐỊNH TRONG C++ (Implicit type conversion), chúng ta đang biết vào một vài trường hợp, trình biên dịch sẽ ngầm đổi khác một quý hiếm từ thứ hạng tài liệu này lịch sự hình dạng tài liệu không giống. Lúc mong biến đổi một quý giá thanh lịch thứ hạng tài liệu tương tự như có miền cực hiếm to hơn, xay hình dáng ngầm định đề nghị được sử dụng.

Trong một số trong những trường thích hợp, các bạn sẽ gặp gỡ loại lệnh nhỏng sau:

double d = 3 / 2;Giá trị 3 và 2 là nhì số nguyên, phải đang không tồn tại xay kiểu ngầm định (Implicit type conversion) vào biểu thức này, tác dụng 3 / 2 là một trong những, kế tiếp 1 được biến hóa ngầm định thành 1.0 và gán cho biến d.

Để khắc phục và hạn chế ngôi trường đúng theo này, bạn cũng có thể chuyển đổi giá trị một trong các 2 toán hạng thành số chnóng động (3.0 hoặc 2.0) để có kết quả chuẩn cho biểu thức:

double d1 = 3.0 / 2;// Hoặcdouble d2 = 3 / 2.0;Xét ví dụ giống như, tuy nhiên 2 toán thù hạng của doanh nghiệp là 2 biến:

int n1 = 3;int n2 = 2;double d = n1 / n2;Trong ngôi trường hòa hợp này, bạn cần thực hiện nghệ thuật Ép giao diện tường minc (Explicit type conversion) để trình biên dịch rất có thể phát âm cùng đổi khác loại tài liệu theo ý của người sử dụng.

Ép hình trạng tường minh (Explicit type conversion) là quá trình biến đổi vẻ bên ngoài tài liệu một phương pháp tường minh (rõ ràng) vị xây dựng viên, sử dụng toán tử xay kiểu (casting operator) để tiến hành Việc biến hóa.

Trong C++, có 5 biện pháp xay dạng hình tường minh:

C-style castsStatic castsConst castsDynamic castsReinterpret casts

Phạm vi bài học kinh nghiệm này vẫn nói về C-style casts Static casts, 2 cách phổ biến độc nhất vô nhị trong C++.

Dynamic casts, Const casts với Reinterpret casts cần những kỹ năng và kiến thức nâng cao rộng, đề xuất sẽ tiến hành làm lơ vào bài học này.

C-style casts

Trong ngôn ngữ C chuẩn, xay phong cách được triển khai thông qua tân oán tử (), cùng thương hiệu vẻ bên ngoài dữ liệu đề nghị gửi được đặt bên phía trong.

Ví dụ:

#include using namespace std;int main(){int n1 = 3;int n2 = 2;double d = (double)n1 / n2;cout Outputs:

*

Trong công tác bên trên, trình biên dịch (compiler) chuyển đổi phát triển thành n1 tự loại int sang hình dáng double trải qua ép loại tường minh C-style. Sau kia biểu thức bao gồm 2 tân oán hạng bao gồm giao diện double cùng giao diện int, cần toán hạng dạng hình int sẽ được biến đổi ngầm định thanh lịch hình dáng double. Vì vậy, tác dụng của biểu thức là phnghiền phân tách thân 2 số chấm hễ giao diện double.

Xem thêm: Chia Sẻ Bí Quyết: Cách Đổ Gà Tre Đá Cựa Sắt, Cách Đổ Gà F1

Ngôn ngữ C++ chất nhận được thực hiện nghiền hình dáng tường minh C-style với cú pháp nlỗi một lời điện thoại tư vấn hàm:

int n1 = 3;int n2 = 2;double d = double(n1) / n2;Ép hình dáng tường minh C-style ko được trình biên dịch (compiler) đánh giá tại thời gian biên dịch (compile time), cần trình biên dịch sẽ không còn giới thiệu phần đông cảnh báo giữa những trường hợp đổi khác không đúng

Chú ý: Tránh sử dụng ép vẻ bên ngoài tường minc C-style.

static_cast

Ngôn ngữ C++ có 1 toán tử nghiền giao diện Điện thoại tư vấn là static_cast. Bạn đang biết đến nó trong bài KIỂU KÝ TỰ TRONG C++ (Character):

#include #include // for std::setprecision()using namespace std;int main(){int n 75 ;cout (n) (ch) Outputs:

*

Chương thơm trình trên sử dụng tân oán tử ép hình dạng static cast vào C++ để in một ký kết từ từ bỏ một số trong những nguyên và trở lại.

Sử dụng static cast vào biểu thức:

Ví dụ:

#include using namespace std;int main(){int n1 = 3;int n2 = 2;double d = static_cast(n1) / n2;cout Outputs:

*

Ưu điểm của toán tử static_cast là nó yêu cầu compiler kiểm tra hình dạng dữ liệu tại thời điểm biên dịch lịch trình, tiêu giảm được những lỗi xung quanh ý mong.

Crúc ý: Nên thực hiện toán thù tử static_cast rứa vị xay đẳng cấp C-style.

Kết luận

Qua bài học kinh nghiệm này, bạn đang nắm được phương thức Ép kiểu dáng tường minch trong C++ (Explicit type conversion).

Ở bài bác tiếp theo, bản thân đang phân chia vẫn mang lại chúng ta về function vào bài xích CƠ BẢN VỀ HÀM & GIÁ TRỊ TRẢ VỀ (Basics of Functions và Return values).

Cảm ơn chúng ta vẫn theo dõi bài viết. Hãy giữ lại comment hoặc góp ý của chính bản thân mình nhằm trở nên tân tiến nội dung bài viết tốt rộng. Đừng quên “Luyện tập – Thử thách – Không hổ thẹn khó”.

Tải xuống


Tài liệu

Nhằm giao hàng mục tiêu học hành Offline của xã hội, Kteam hỗ trợ bản lĩnh tàng trữ câu chữ bài học Ép mẫu mã tường minch trong C++ (Explicit type conversion in C++) dưới dạng tệp tin PDF trong liên kết bên dưới.

Trong khi, chúng ta có thể tìm kiếm thấy những tư liệu được góp phần trường đoản cú cộng đồng sống mục TÀI LIỆU bên trên thỏng viện mbachulski.com.com

Đừng quên likeshare nhằm cỗ vũ Kteam và tác giả nhé!

*

Thảo luận

Nếu chúng ta có ngẫu nhiên trở ngại giỏi vướng mắc gì về khóa học, chớ rụt rè đặt câu hỏi vào phần BÌNH LUẬN dưới hoặc trong mục HỎI & ĐÁPhường trên thư viện mbachulski.com.com để cảm nhận sự cung cấp trường đoản cú xã hội.