কম্পিউটার

C++ এ ইউনারি অপারেটর


Unary অপারেটর হল অপারেটর যারা একটি একক অপারেন্ডের উপর কাজ করে একটি নতুন মান তৈরি করে৷ ইউনারী অপারেটরগুলি নিম্নরূপ -

  • ইউডাইরেকশন অপারেটর (* ) - এটি একটি পয়েন্টার ভেরিয়েবলে কাজ করে এবং পয়েন্টার ঠিকানায় মানের সমতুল্য একটি l-মান প্রদান করে। একে পয়েন্টারকে "ডিরেফারেন্সিং" বলা হয়।
  • অপারেটরের ঠিকানা (&) - অপারেটরের unary address-of (&) তার অপারেন্ডের ঠিকানা নেয়। অপারেটরের ঠিকানা-অপারেটরের অপারেন্ড হয় একটি ফাংশন ডিজাইনার বা একটি l-মান হতে পারে যা এমন একটি বস্তুকে মনোনীত করে যা একটি বিট ক্ষেত্র নয় এবং রেজিস্টার স্টোরেজ-ক্লাস স্পেসিফায়ারের সাথে ঘোষণা করা হয় না৷
  • ইউনারি প্লাস অপারেটর (+) - unary প্লাস অপারেটর (+) এর ফলাফল হল এর অপারেন্ডের মান। ইউনারী প্লাস অপারেটরের অপারেন্ড অবশ্যই একটি গাণিতিক ধরনের হতে হবে।
  • Unary negation operator (-) - The - (unary minus) অপারেটর অপারেন্ডের মানকে অস্বীকার করে। অপারেন্ডের যেকোনো পাটিগণিতের ধরন থাকতে পারে। ফলাফল একটি lvalue নয়।
  • লজিক্যাল নেগেশন অপারেটর (!) - লজিক্যাল নেগেশান অপারেটর (!) এর অপারেন্ডের অর্থ বিপরীত করে। অপারেন্ড অবশ্যই পাটিগণিত বা পয়েন্টার টাইপের হতে হবে (অথবা একটি অভিব্যক্তি যা পাটিগণিত বা পয়েন্টার টাইপের মূল্যায়ন করে)। অপারেন্ডটি নিহিতভাবে টাইপ বুলে রূপান্তরিত হয়।
  • একজনের পরিপূরক অপারেটর (~) - একজনের পরিপূরক অপারেটর, যাকে কখনও কখনও "বিটওয়াইজ কমপ্লিমেন্ট" বা "বিটওয়াইজ নট" অপারেটর বলা হয়, তার অপারেন্ডের বিটওয়াইজ কমপ্লিমেন্ট তৈরি করে। অপারেন্ড অবশ্যই অবিচ্ছেদ্য ধরনের হতে হবে।
  • প্রিফিক্স ইনক্রিমেন্ট অপারেটর (++) - প্রিফিক্স ইনক্রিমেন্ট অপারেটর (++) তার অপারেন্ডে একটি যোগ করে; এই বর্ধিত মান অভিব্যক্তির ফলাফল। অপারেন্ড একটি l-মান হতে হবে টাইপ const এর নয়। ফলাফলটি অপারেন্ডের মতো একই ধরণের একটি l-মান।
  • প্রিফিক্স ডিক্রিমেন্ট অপারেটর (--) - উপসর্গ হ্রাস অপারেটর ( -- ) তার অপারেন্ড থেকে একটি বিয়োগ করে; এই হ্রাস মান অভিব্যক্তি ফলাফল. অপারেন্ড একটি l-মান হতে হবে টাইপ const এর নয়। ফলাফলটি অপারেন্ডের মতো একই ধরণের একটি l-মান।
  • কাস্ট অপারেটর ()৷ - একটি টাইপ কাস্ট একটি নির্দিষ্ট পরিস্থিতিতে একটি বস্তুর প্রকারের স্পষ্ট রূপান্তরের জন্য একটি পদ্ধতি প্রদান করে। কম্পাইলার টাইপ কাস্ট করার পরে কাস্ট-এক্সপ্রেশনকে টাইপ টাইপ-নাম হিসাবে বিবেচনা করে।
  • অপারেটরের আকার - এটি একটি কম্পাইল টাইম ইউনারি অপারেটর যা এর অপারেন্ডের আকার গণনা করতে ব্যবহার করা যেতে পারে৷
  • নতুন অপারেটর - এটি একটি মেমরি বরাদ্দ অপারেটর যা মেমরি গতিশীলভাবে বরাদ্দ করতে ব্যবহৃত হয়।
  • অপারেটর মুছুন - এটি একটি মেমরি বরাদ্দ অপারেটর যা গতিশীলভাবে বরাদ্দ করা মেমরি ডিললোকেট করতে ব্যবহৃত হয়৷

এই অপারেটরদের ডান-থেকে-বাম সহযোগীতা রয়েছে৷ ইউনারি এক্সপ্রেশনে সাধারণত সিনট্যাক্স থাকে যা পোস্টফিক্স বা প্রাথমিক এক্সপ্রেশনের আগে থাকে।

উদাহরণ

আসুন -(মাইনাস) এবং কাস্টিং() ইউনারী অপারেটরগুলির একটি উদাহরণ দেখি৷

#include<iostream>
using namespace std;
int main() {
   int x;
   float y = 1.23;

   x = (int) y;
   x = -x;

   cout << x;
   return 0;
}

আউটপুট

এটি আউটপুট দেয় −

-1

  1. C++ এ বিটওয়াইজ অপারেটর

  2. C++ এ লজিক্যাল অপারেটর

  3. C++ এ রিলেশনাল অপারেটর

  4. C++ এ পাটিগণিত অপারেটর