static_cast

W języku programowania C++ static_cast jest operatorem , który wykonuje jawną konwersję typu .

Składnia

 static_cast  <typ>  (  obiekt  )  ;  _  

Parametr typu musi być typem danych, do którego obiekt może zostać przekonwertowany za pomocą znanej metody, niezależnie od tego, czy jest to wbudowany, czy rzutowany. Typ może być odwołaniem lub modułem wyliczającym. Wszystkie typy konwersji, które są dobrze zdefiniowane i dozwolone przez kompilator, są wykonywane przy użyciu static_cast . [ nieudana weryfikacja ]

Operatora static_cast<> można używać do takich operacji jak:

Chociaż konwersje static_cast są sprawdzane w czasie kompilacji, aby zapobiec oczywistym niezgodnościom, nie jest wykonywane żadne sprawdzanie typu w czasie wykonywania , które mogłoby zapobiec rzutowaniu między niezgodnymi typami danych, takimi jak wskaźniki. static_cast ze wskaźnika do klasy B do wskaźnika do klasy pochodnej D jest źle sformułowany, jeśli B jest niedostępną lub niejednoznaczną podstawą D . static_cast bazowej wirtualnej klasy bazowej) do wskaźnika klasy pochodnej jest źle sformułowany.

Zobacz też