Cho mình hỏi là 2 câu lệnh này có gì khác nhau không ạ?
int a=9;
- 
cout << "Result:"<< static_cast<float>(a)/8;
- 
cout << "Result:" <<((float)a)/8;
với lại sau 2 câu lệnh trên thì a vẫn là kiểu int phải không ạ?
 
      
    Cho mình hỏi là 2 câu lệnh này có gì khác nhau không ạ?
int a=9;
cout << "Result:"<< static_cast<float>(a)/8;cout << "Result:" <<((float)a)/8;với lại sau 2 câu lệnh trên thì a vẫn là kiểu int phải không ạ?
^ Đừng quên tag code nhé.
tl;dr: C++ có 3 loại cast với 3 cú pháp: static, dynamic (cho class có tính đa hình) và reinterpret. Cú pháp cast của C có thể cast kiểu static và kiểu reinterpret.
static_cast chỉ chạy đúng với hai class nếu chuyển từ subclass lên superclass. dynamic_cast sẽ kiểm tra trước khi chuyển giữa hai class.
thanks b n/. mà mình chưa học class nên mình ko hiểu.
 83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?
    83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?