কম্পিউটার

C এবং C++ এর মধ্যে অসঙ্গতি


এখানে আমরা C এবং C++ এর মধ্যে কিছু অসঙ্গতি দেখতে পাব। কিছু C কোড যা C কম্পাইলার ব্যবহার করে কম্পাইল করা যায়, কিন্তু C++ কম্পাইলারে কম্পাইল করে না। এবং ত্রুটি ফেরত দেয়।

  • আমরা একটি সিনট্যাক্স ব্যবহার করে ফাংশনকে সংজ্ঞায়িত করতে পারি, যেটি ঐচ্ছিকভাবে আর্গুমেন্ট তালিকার পরে আর্গুমেন্টের প্রকারগুলি নির্দিষ্ট করে৷

উদাহরণ

#includevoid my_function(x, y)int x;int y; { // C++ printf("x =%d, y =%d", x, y);} int main() { my_function(10, 20);}
-এ বৈধ নয়

আউটপুট

x =10, y =20

আউটপুট

C++ এ ত্রুটি :- x এবং y এই সুযোগে ঘোষণা করা হয়নি
  • C, বা C++ এর কিছু পুরানো সংস্করণে, ডিফল্ট ভেরিয়েবল টাইপ হল পূর্ণসংখ্যা। কিন্তু নতুন C++ এ, এটি একটি ত্রুটি তৈরি করবে।

উদাহরণ

#includemain() { const x =10; const y =20; printf("x =%d, y =%d", x, y);}

আউটপুট

x =10, y =20

আউটপুট

C++ এ ত্রুটি :- x একটি টাইপের নাম দেয় না একটি প্রকারের নাম দেয় না
  • সি-তে, বহিরাগত কীওয়ার্ড ব্যবহার না করে বহুবার গ্লোবাল ডেটা অবজেক্ট ঘোষণা করা যেতে পারে। সি কম্পাইলার একাধিক ঘোষণার জন্য একবার বিবেচনা করে।

উদাহরণ

#includeint x;int x;int main() { x =10; printf("x =%d", x);}

আউটপুট

x =10

আউটপুট

C++ এ ত্রুটি :- int x এর পুনঃসংজ্ঞা
  • C-তে, আমরা void pointer ব্যবহার করতে পারি একটি অ্যাসাইনমেন্টের ডান হাতের অপারেটর হিসাবে বা যেকোনো পয়েন্টার প্রকারের ভেরিয়েবলকে আরম্ভ করতে।

উদাহরণ

#include#includevoid my_function(int n) { int*ptr =malloc(n* sizeof(int)); //অস্পষ্টভাবে void* কে int* printf এ রূপান্তর করুন 

আউটপুট

 অ্যারে তৈরি করা হয়েছে। আকার:10

আউটপুট

C++ এ ত্রুটি :- void*-এর int*-এ অবৈধ রূপান্তর
  • সি-তে, আর্গুমেন্টের ধরন নির্দিষ্ট না থাকলে, আমরা একাধিক আর্গুমেন্ট পাস করতে পারি।

উদাহরণ

#includevoid my_function() { printf("Inside my_function");}main() { my_function(10, "Hello", 2.568, 'a');}

আউটপুট

আমার_ফাংশনের ভিতরে

আউটপুট

C++ এ ত্রুটি :- 'void my_function()' ফাংশনের জন্য অনেক বেশি আর্গুমেন্ট

  1. C++ ব্যবহার করে A এবং B এর মধ্যে N গাণিতিক মানে খুঁজুন।

  2. C এবং C++ এর কাঠামোর মধ্যে পার্থক্য

  3. C++ এবং C# এর মধ্যে কোনটি দ্রুত?

  4. C++ এবং C# এর মধ্যে পার্থক্য