Computer >> Máy Tính >  >> Lập trình >> C ++

Khi nào thì static_cast, dynamic_cast, const_cast và reinterpret_cast được sử dụng trong C ++?

const_cast

có thể được sử dụng để xóa hoặc thêm const vào một biến. Điều này có thể hữu ích nếu cần thêm / xóa hằng số khỏi một biến.

static_cast

Điều này được sử dụng để chuyển đổi loại bình thường / bình thường. Đây cũng là bộ ép kiểu chịu trách nhiệm về ép kiểu ngầm định và cũng có thể được gọi một cách rõ ràng. Bạn nên sử dụng nó trong các trường hợp như chuyển đổi float thành int, char thành int, v.v.

dynamic_cast

ép kiểu này được sử dụng để xử lý tính đa hình. Bạn chỉ cần sử dụng nó khi truyền tới một lớp dẫn xuất. Điều này chỉ được sử dụng trong kế thừa khi bạn truyền từ lớp cơ sở sang lớp dẫn xuất.

reinterpret_cast

Đây là cách sử dụng khó nhất. Nó được sử dụng để diễn giải lại các mẫu bit và ở mức cực kỳ thấp. Nó được sử dụng chủ yếu cho những việc như chuyển luồng bit dữ liệu thô thành dữ liệu thực tế hoặc lưu trữ dữ liệu ở các bit thấp của con trỏ được căn chỉnh.