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

Khi nào nên sử dụng static_cast, dynamic_cast, const_cast và reinterpret_cast?

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 chuyển đổi / loại bỏ 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à kiểu ép buộc kiểu forimplicit chịu trách nhiệm ép kiểu 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 floatto 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 bạn đang truyền đến lớp aderived. Đ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 thấp. Nó được sử dụng chủ yếu cho những việc như biến một luồng bit dữ liệu thô thành dữ liệu thực tế hoặc lưu trữ dữ liệu trong các bit nhỏ của một con trỏ được căn chỉnh.