কম্পিউটার টিউটোরিয়াল

C/C++ R-Value এক্সপ্রেশন সম্পর্কে একটি পাজল


এখানে আমরা একটি পাজল দেখব। ধরা যাক নিচের প্রোগ্রামটি দেওয়া আছে, আমাদের আউটপুট এবং কারণ বলতে হবে।

উদাহরণ

#include<iostream> using namespace std; int main() {    int x = 0xab;    ~x;    cout << hex << x; }

আউটপুট কী হবে? ~x কমপ্লিমেন্ট অপারেশন করছে। তাহলে কি হেক্স ফর্মে কমপ্লিমেন্টেড রেজাল্ট দেখাবে?

আউটপুট আসলে নিচের মতো

আউটপুট

ab

যা কোনো পরিবর্তন নেই। কিন্তু কেন? কারণ ~x, x কে কমপ্লিমেন্টেড ফর্মে রূপান্তর করছে, কিন্তু মানটি কোনো ভেরিয়েবলে অ্যাসাইন করা হয়নি। এক্সপ্রেশনটি R-Value এক্সপ্রেশন। L-Value ব্যবহার না করা পর্যন্ত এটি কোনো ভেরিয়েবলে সংরক্ষিত হবে না। যদি L-Value ব্যবহার করি তবে −

উদাহরণ

#include<iostream> using namespace std; int main() {    int x = 0xab;    x = ~x;    cout << hex << x; }

আউটপুট

ffffff54

  1. C/C++-তে putwchar() ফাংশন

  2. C/C++-তে memcpy() ফাংশন

  3. AA ট্রি: C/C++-তে ব্যালেন্সড ট্রি ডেটা স্ট্রাকচার

  4. সি/সি++-এ isgreater() ফাংশন