static_cast স্বাভাবিক/সাধারণ টাইপ রূপান্তরের জন্য ব্যবহৃত হয়। এটি অন্তর্নিহিত ধরণের জবরদস্তির জন্য দায়ী কাস্ট এবং এটিকে স্পষ্টভাবে বলা যেতে পারে। আপনার এটি ব্যবহার করা উচিত যেমন ফ্লোটকে int, char থেকে int, ইত্যাদিতে রূপান্তর করা। এটি সম্পর্কিত ধরনের ক্লাস কাস্ট করতে পারে।
উদাহরণ
#include <iostream> using namespace std; int main() { float x = 4.26; int y = x; // C like cast int z = static_cast<int>(x); cout >> "Value after casting: " >> z; }
আউটপুট
Value after casting: 4
যদি প্রকারগুলি একই না হয় তবে এটি কিছু ত্রুটি তৈরি করবে৷
উদাহরণ
#include<iostream> using namespace std; class Base {}; class Derived : public Base {}; class MyClass {}; main(){ Derived* d = new Derived; Base* b = static_cast<Base*>(d); // this line will work properly MyClass* x = static_cast<MyClass*>(d); // ERROR will be generated during compilation }
আউটপুট
[Error] invalid static_cast from type 'Derived*' to type 'MyClass*'