long
এবং long int
অভিন্ন। তাই হয় long long
এবং long long int
। উভয় ক্ষেত্রেই, int
বিকল্প is
দুটি সেট মধ্যে পার্থক্য হিসেবে সি ++ প্রতিটি মান ম্যান্ডেট ন্যূনতম রেঞ্জ, এবং যে long long
হয় অন্তত ওয়াইড যত long
।
স্ট্যান্ডার্ডের নিয়ন্ত্রণকারী অংশগুলি (সি ++ 11, তবে এটি দীর্ঘকাল ধরে চলেছে) একটির জন্য 3.9.1 Fundamental types
, বিভাগ 2 (পরবর্তী বিভাগটি স্বাক্ষরবিহীন ইন্টিগ্রাল ধরণের জন্য একই নিয়ম দেয়):
পাঁচটি স্ট্যান্ডার্ড স্বাক্ষরিত পূর্ণসংখ্যার প্রকার রয়েছে: স্বাক্ষর করা চর, শর্ট ইনট, ইনট, লং ইনট এবং লং লং ইনট। এই তালিকায়, প্রতিটি ধরণের তালিকাটিতে পূর্ববর্তীগুলির মতো কমপক্ষে স্টোরেজ সরবরাহ করে।
এখানে একটি সারণী 9 রয়েছে 7.1.6.2 Simple type specifiers
, যা প্রকৃত প্রকারের সাথে নির্দিষ্টকরণকারীদের "ম্যাপিংস" দেখায় (এটি বিকল্পটি দেখায় int
), যার একটি অংশ নীচে দেখানো হয়েছে:
Specifier(s) Type
------------- -------------
long long int long long int
long long long long int
long int long int
long long int
নির্দিষ্টকারী এবং প্রকারের মধ্যে পার্থক্যটি নোট করুন। স্পেসিফায়ার হ'ল আপনি কীভাবে সংকলকটি টাইপটি কী তা বলছেন তবে একই ধরণের শেষ করতে আপনি বিভিন্ন স্পেসিফায়ার ব্যবহার করতে পারেন।
সুতরাং আপনার long
নিজের প্রশ্ন হিসাবে এটি নিজেই কোনও প্রকার বা সংশোধক নয় , এটি কেবল long int
প্রকারের জন্য নির্দিষ্টকরণকারী । ধরণের long long
জন্য একটি নির্দিষ্টকরণকারী হিসাবে Ditto long long int
।
যদিও সি ++ স্ট্যান্ডার্ড নিজেই অবিচ্ছেদ্য ধরণের ন্যূনতম ব্যাপ্তি নির্দিষ্ট করে না, এটি 1.2 Normative references
প্রয়োগ হিসাবে C99 হিসাবে উল্লেখ করে। তাই নির্ধারিত ন্যূনতম ব্যাপ্তি C99 5.2.4.2.1 Sizes of integer types <limits.h>
প্রযোজ্য।
পদ হিসাবে long double
, এটি আসলে একটি পূর্ণসংখ্যার চেয়ে ভাসমান পয়েন্ট মান। অবিচ্ছেদ্য ধরণের ক্ষেত্রে একইভাবে কমপক্ষে একটি হিসাবে যথাযথতা থাকা দরকার double
এবং সেই ধরণের উপরের মানগুলির একটি সুপারসেট সরবরাহ করা প্রয়োজন (যার অর্থ কমপক্ষে সেই মানগুলি, আরও বেশি মূল্যবোধের প্রয়োজন নেই )।