আকারকে কেন একটি সংকলন-সময় অপারেটর বলা হয়?
কারণ, সংকলনের সময়ে, সংকলকটি প্রকাশের আকারের এবং গণ-সময় স্থির মানের সংকলনকারী বিকল্পগুলির আকার গণনা করে।
এটি কি আসলে রান-টাইম অপারেটর নয়?
না। আপনি sizeof
আইনীভাবে কার্যকর করতে পারবেন না এমন অভিব্যক্তিগুলির আকার মূল্যায়নের জন্যও ব্যবহার করতে পারেন (যেমন, এটি অপরিজ্ঞাত আচরণে জড়িত হবে), যতক্ষণ সংকলকটি বুঝতে পারে যে অভিব্যক্তির প্রকারটি কী।
এছাড়াও, সি ++ 11 এর আগেও constexpr
আপনি sizeof
রান-টাইম এক্সপ্রেশন ব্যবহার করতে পারবেন না এমন উপায়ে এক্সপ্রেশনগুলি ব্যবহার করতে পারেন ।
এবং যদি এটি প্রকৃতপক্ষে একটি সংকলন-সময় অপারেটর হয় তবে এটি কীভাবে পোর্টেবল কোড তৈরি করতে সহায়তা করে ...
বিভিন্ন প্ল্যাটফর্মগুলিতে প্রকারের আকারগুলি বিভিন্ন রকম হতে পারে। sizeof
হার্ড-কোডেড অনুমানের পরিবর্তে এক্সপ্রেশন ব্যবহার করার অর্থ আপনি যখন অন্য কোনও প্ল্যাটফর্মে সংকলন করেন এবং আপনার ধরণের আকার পরিবর্তন করেন তখন আপনার কোডটি ভাঙবে না।