عامل اول، نحوهی پیادهسازی زبان C++
هست. C++
قواعد استانداردی داره که برای پیادهسازی زبان باید رعایت بشه. هر کسی که زبان رو پیادهسازی میکنه تعدادی از این قواعد رو رعایت میکنه و بنابراین تاحدی به استاندارد نزدیک میشه. کامپایلرهایی مثل کامپایلر C++
شرکت sun
صددرصد مطابق با استاندارد هستند در صورتی که کامپایلرهایی مانند کامپایلر C++
شرکت مایکروسافت کاملاً منطبق با استاندارد نیستند.
عامل دوم، ماشینی هست که زبان پیاده شده روی اون اجرا میشه. یعنی کامپایلر برنامهی نوشته شده رو روی اون ماشین کامپایل میکنه. مثلاً ممکنه در یک ماشین ۳۲ بیتی کامپایلر، دادهی int
برنامهی شما رو به صورت ۳۲ بیتی کامپایل کنه و در ماشین ۱۶ بیتی به صورت ۱۶ بیتی.
عامل سوم، سیستمعامل مورد استفاده است. در یک ماشین ۳۲ بیتی در صورتی که از سیستمعامل ۳۲ بیتی استفاده بشه، کامپایلر C++
هم ممکنه عدد صحیح int
رو ۳۲ بیتی در نظر بگیره. اما در صورتی که سیستمعامل ۱۶ بیتی باشه (مثل سیستمهامل داس) اون وقت کامپایلر عدد صحیح int
رو ۱۶ بیتی کامپایل میکنه.
به طور کلی پیادهسازی (کامپایلر) و محیط کامپایل (ماشین و سیستمعامل) در تعیین اندازه نقش دارن.
هیچ پژوهش انسانی نمیتواند ادعای علمی بودن داشته باشد، مگر اینکه از برهان ریاضی برخوردار باشد (لئوناردو داوینچی)