نمایش/عدم نمایش سایدبار
رفتن به بالای صفحه
مهدی دمیرچیلو

تعریف عملگرها برای struct ها در زبان c++

به نام خدا : عملگرها در سی رو که میدونید چیه؛ == , >= , <= , > , < , =! و…؛ از این عملگرها برای متغییر ها شما تا حالا بارها استفاده کردید و چیز خب عادی هستش ولی خب بعضا شاید نیاز باشه که struct ها رو هم با هم مقایسه کنیم و از عملگرهای فوق ( که در بالا ذکر کردم ) برا struct ها هم استفاده کنیم که خب در حالت عادی نمیشه و باید این عملگرها رو برای struct مد نظرمون “تعریف کنیم” !!! تو این مطلب باهم “struct های تودرتو” و تعریف “عملگر =!”  رو با هم میبینم.
تعریف عملگرها برای struct ها در زبان c++

تعریف عملگرها برای struct ها در زبان c++


پیشنیاز این مطلب : پیش از شروع این مطلب به نظرم مطالب زیر رو بخونید و اگه باز متوجه داستان struct نشدید تو گوگل بسرچید و یادش بگیرید و بعد این مطلب رو بخونید :

  1. هر آنچه در تعریف متغیر باید بدانیم
  2. تعریف متغیرهای از نوع ساختار و کلاس
  3. آموزش کامل typedef و struct
  4. آموزش پروژه محور struct در زبان c

 
توجه : در پروژه های کوچیک شاید این مطلب بکار نیاد ولی خب قطعا در پروژه هایی که کدش از یه حدی بیشتر میشه این مطلب میتونه مفید باشه ( برا بحث کاهش تعداد خطوط برنامه و افزایش خوانایی برنامه ) یا اگه میخواین کدتون ترتمیز و کوتاه باشه این مطلب میتونه مفید باشه ( من خودم تو کتابخونه ای که برای ماژول NRF – TTL داشتم مینوشتم دیدم به یه همچین چیزی نیاز دارم، دیدم که همچین چیزی باشه بهتره، اینطور بگم درست تره، رفتم و یادش گرفتم و الان میخوام یادتون بدم و البته همون کد و مثال توی کتابخونه رو براتون میارم در ادامه چون حس مثال جدید نی خخخ )
 
خب ببینید من یه ماژول NRF دارم، میخوام تنظیماتشو تغییر بدم، بخونم و …، هدف اصلی من اینه، میخوام کدشو بنویسم، خب این ماژول به اینصورته که 6 بایت بهش میدی و تو این 6 بایت تمام تنظیمات ماژول رو وارد میکنی و … که ساختار struct_ParameterSetting  رو برا همین تعریف کردم که این ساختارو ببینید توش توضیحات تک تک بایت ها و بیت ها رو هم ذکر کردم که هر بیت کارش چیه و …؛ خب بعضی بایت ها چند تا پارامتر رو تنظیم میکنن، مثلا بایت OPTION که میاد 3 مورد زیر رو تنظیم میکنه :

Transmitted power(bit0:1), IO drive mode(bit6), Transmission mode(bit7)

خب من برا همچین بایت هایی ( علاوه بر بایت OPTION، بایت SPED هم به همین صورت هستش ) باز اومدم یه ساختار جداگونه تعریف کردم با نام های struct_OPTION و struct_SPED که خب میشه یه ساختار تودر تور، خب اینم خودش شاید یه مطلب جداگونه باشه خخخ البته چیز خاصی نداره :

 
خب تا اینجا دیدم که من یه ساختار تو در تو تعریف کردم، حالا میریم سراغ اصل مطلب یعنی تعریف عملگر برای این ساختار ( در ادامه هم نحوه استفاده از ساختار های تودرتو رو میبینید و هم نحوه تعریف عملگرها برای ساختار ها در زبان ++C ؛ راستی اینا برا زبان C نی، برا ++C هستش، تو C تست نکردم، نمیدونم فرق داره یا نه )؛ تو کد زیر من اومدم عملگر =! رو برای ساختار اصلیم ( struct_ParameterSetting ) تعریف کردم :

 
اینم یه مثال که توش اومدم از این عملگر استفاده کردم ( خط 11 کد زیر، دیگه مث مقایسه متغییر های معمولی شده ) :

 
 
خب فک کنم گزاشتن کد و همین توضیح کوچولو کافی باشه، جان داش حوصله توضیح بشتر ندارم، اگه نگاه کنید چند ماه مطلب نزاشتم و این اولین مطلب من بعد چند ماه هستش یا مطلب پیش نویس دارم حس انتشارشو ندارم، رو یه پروژه ای دارم کار میکنم که فعلا درگیرشم مثلا – یکم هم طولانی شده و منم خسته- بگذریم.
 
فعلا یا علی.

پسورد فایل های سایت :
www.dmf313.ir
مهدی دمیرچیلو جنگ ما فتح قدس را در پی خواهد داشت (امام خمینی) >>>>>> اگر از صدام بگذریم، اگر مسأله قدس را فراموش کنیم، اگر از جنایت های امریکا بگذریم از آل سعود نخواهیم گذشت. ان‌شاالله اندوه دلمان را را در وقت مناسب با انتقام از امریکا و ال سعود برطرف خواهیم کرد و داغ و حسرت حلاوت این جنایت بزرگ را بر دلشان خواهیم گذاشت و با برپایی جشن پیروزی حق بر جنود کفر و نفاق و آزادی کعبه از دست نااهلان و نامحرمان به مسجد الحرام وارد خواهیم شد (امام خمینی)
ارسال دیدگاه
2

1) تعداد حروف غیر فارسی از حروف فارسی بیشتر باشه دیدگاه به صورت خودکار حذف میشه.

2) به موارد درخواست پروژه/کد آماده و سوالاتی که بلد نباشم پاسخ داده نمیشه.

3) برای گزاشتن کدهاتون از این سایت استفاده کنید : debian

  1. Avatar

    مهمان

    جواد

    یعنی شخم زدیاااااااااااااا

    1397/05/14
    05:54
    • مهدی دمیرچیلو

      نویسنده این مطلب

      مهدی دمیرچیلو

      متوجه نشدم.

      1397/05/14
      05:56