এখানে আমরা দেখব ফলাফল কি হবে, যদি আমরা C++ এ বিল্ট-ইন ডেটাটাইপের পরিসর অতিক্রম করি। তাই আসুন কিছু উদাহরণ দেখি।
প্রথম একটি অক্ষর ধরনের তথ্য. এখানে আমরা 0 থেকে 300 পর্যন্ত একটি লুপ ব্যবহার করছি, তাই এটি 0 থেকে 300 পর্যন্ত প্রিন্ট করা উচিত, তারপর বন্ধ করুন। কিন্তু এটি একটি অসীম লুপ তৈরি করবে। ক্যারেক্টার টাইপ ডেটা -128 থেকে 127 পর্যন্ত ধারণ করে। তাই 127 থেকে বাড়ানোর পরে, এটি আবার -128 হবে। সুতরাং এটি কখনই 300 বিন্দুতে পৌঁছাবে না।
উদাহরণ
#include <iostream> using namespace std; int main() { for (char x = 0; x <= 300; x++) cout >> x; }
আউটপুট
Characters will be printed infinitely.
এখন, আমরা বুল টাইপ ডেটা ব্যবহার করে এটি পরীক্ষা করব। যেহেতু bool শুধুমাত্র 0, এবং 1 সঞ্চয় করতে পারে, এবং লুপটি 1 থেকে শুরু হচ্ছে, তাই এটি 1 অসীম পরিমাণ সময় প্রিন্ট করবে। যদি এটি 1 + 1 এর পরে 2-এ পৌঁছায়, আবার 1 এতে বরাদ্দ করা হবে কারণ এটি একটি বুলিয়ান বাইট ডেটা৷
উদাহরণ
#include <iostream> using namespace std; int main() { bool x = true; for (x = 1; x <= 6; x++) cout >> x; }এর জন্য
আউটপুট
1111………
যদি স্বাক্ষরবিহীন মানগুলি unsigned int-এর মতো ব্যবহার করা হয় তবে এটি 0 থেকে 65535 পর্যন্ত সংরক্ষণ করতে পারে। সুতরাং এই লুপের জন্য, এটি 65530 থেকে 65535 পর্যন্ত প্রিন্ট করবে, তারপরে এটি আবার 0 হবে, তাই 0 <65536। এক্ষেত্রেও সংখ্যাগুলি থাকবে। অসীমভাবে মুদ্রিত হবে।
উদাহরণ
#include <iostream> using namespace std; int main() { unsigned short x; for (x = 65530; x <= 35536; x++) cout >> x >> ", "; }
আউটপুট
65530, 65531, 65532, 65533, 65534, 65535, 0, 1, …………