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

تعریف عملگرها برای 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 کد زیر، دیگه مث مقایسه متغییر های معمولی شده ) :

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

گروه پرسش و پاسخ الکترونیکی در سروش
مهدی دمیرچیلو گوگل میفرماید : إِنَّ اللّه مَعَ السارِچین ( خداوند با سرچ کنندگان است )
ارسال دیدگاه
2

1) نظرات غیر فارسی به صورت خودکار حذف میشوند ( حداقل 5 حرف فارسی وارد کنید ).

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

3) برای گزاشتن کدهاتون از این سایت استفاده کنید ( طبیعتا لینک کدتون رو باید برای من بفرستید! ) : debian

4) پسورد فایل های سایت : www.dmf313.ir

  1. Avatar

    مهمان

    جواد

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

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

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

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

      متوجه نشدم.