কম্পিউটার

কোড C এবং C++ উভয় ক্ষেত্রেই বৈধ কিন্তু ভিন্ন আউটপুট তৈরি করে


এখানে আমরা এমন কিছু প্রোগ্রাম দেখতে পাব যেগুলি C বা C++ কম্পাইলারে কম্পাইল করা হলে বিভিন্ন ফলাফল দেবে। আমরা এই ধরনের অনেক প্রোগ্রাম খুঁজে পেতে পারি, কিন্তু এখানে আমরা তাদের কিছু সম্পর্কে আলোচনা করছি।

  • C এবং C++ এ, ক্যারেক্টার লিটারেলগুলিকে ভিন্নভাবে বিবেচনা করা হয়। C-তে, সেগুলোকে int হিসেবে ধরা হয় কিন্তু C++-এ সেগুলোকে অক্ষর হিসেবে ধরা হয়। তাই যদি আমরা sizeof() অপারেটর ব্যবহার করে আকার পরীক্ষা করি, তাহলে এটি C-তে 4 এবং C++-এ 1 ফেরত দেবে।

উদাহরণ

#include<stdio.h>
int main() {
   printf("The character: %c, size(%d)", 'a', sizeof('a'));
}

আউটপুট

The character: a, size(4)

উদাহরণ

#include<iostream.h>
int main() {
   printf("The character: %c, size(%d)", 'a', sizeof('a'));
}

আউটপুট (C++)

The character: a, size(1)

C-তে যদি আমরা struct ব্যবহার করি, তাহলে struct ট্যাগ ব্যবহার করতে হবে যখন আমরা এটি ব্যবহার করছি যতক্ষণ না কিছু typedef ব্যবহার করা হয়। কিন্তু C++ এ, স্ট্রাকচার ব্যবহার করার জন্য আমাদের struct ট্যাগ করার দরকার নেই।

উদাহরণ

#include<stdio.h>
struct MyStruct{
   int x;
   char y;
};
int main() {
   struct MyStruct st; //struct tag is present
   st.x = 10;
   st.y = 'd';
   printf("Struct (%d|%c)", st.x, st.y);
}

আউটপুট (C)

Struct (10|d)

উদাহরণ

#include<iostream>
struct MyStruct{
   int x;
   char y;
};
int main() {
   MyStruct st; //struct tag is not present
   st.x = 10;
   st.y = 'd';
   printf("Struct (%d|%c)", st.x, st.y);
}

আউটপুট (C++)

Struct (10|d)

বুলিয়ান টাইপ ডেটার আকার C এবং C++ এ ভিন্ন।

উদাহরণ

#include<stdio.h>
   int main() {
   printf("Bool size: %d", sizeof(1 == 1));
}

আউটপুট (C)

Bool size: 4

উদাহরণ

#include<iostream>
   int main() {
   printf("Bool size: %d", sizeof(1 == 1));
}

আউটপুট (C++)

Bool size: 1

  1. C++ STL-এ list_empty( ) এবং list_size( )

  2. C++ প্রোগ্রামে 'struct' এবং 'typedef struct' এর মধ্যে পার্থক্য?

  3. C++ এ 'struct' এবং 'typedef struct' এর মধ্যে পার্থক্য?

  4. একটি C++ ভেরিয়েবল কনস্ট এবং উদ্বায়ী উভয়ই হতে পারে?