01/10/2018, 08:14

M.n cho mình hỏi lệnh static_cast <new_type>(expression)

Cho mình hỏi là 2 câu lệnh này có gì khác nhau không ạ?
int a=9;

  1. cout << “Result:”<< static_cast(a)/8;
  2. 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 ạ?

rogp10 viết 10:28 ngày 01/10/2018

^ Đừng quên tag code nhé.

stackoverflow.com
Graeme Perrow

Regular cast vs. static_cast vs. dynamic_cast

c++, pointers, casting
asked by Graeme Perrow on 01:20PM - 26 Aug 08

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.

Hoàng Tiến Công viết 10:24 ngày 01/10/2018

thanks b n/. mà mình chưa học class nên mình ko hiểu.

Bài liên quan
0