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

Truyền thông thường so với static_cast và dynamic_cast trong C ++


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 - Cast này được sử dụng để xử lý đ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.

Truyền thông thường - Đây là kiểu truyền mạnh nhất hiện có trong C ++ vì nó kết hợp const_cast, static_cast và reinterpret_cast. nhưng nó cũng không an toàn vì nó không sử dụng dynamic_cast. Đây còn được gọi là diễn viên kiểu C.

Các phôi có sẵn khác

const_cast - có thể được sử dụng để loại bỏ 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.

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.