جستجوی دسته : C++

سورس مدیریت کتابخانه به زبان سی پلاس پلاس

با سلام خدمت کاربران عزیز.در این مطلب سورس سیستم مدیریت کتابخانه به زبان سی پلاس پلاسبه دلیل اینکه طرفدرهایزیادی داشته واغلب دردوره های مختلف به عنوان پروژه مطرح میشود را برای شما جهت دانلود قرار داده ایم. امیدواریم که این مطلب مورد توجه کاربران عزیز قرار گرفته باشد.

سورس مدیریت مدرسه و دانش آموزان به زبان Cپلاس پلاس

با سلام . یکی از پروژه هایی که در دانشگاه و مراکز آموزشی باید توسط دانشجویان نوشته و کدنویسی شود سیستم مدیریت مدرسه می باشد که معمولا یکی از پروژه های ثابت است . حال برای نوشتن این پروژه باید وقت زیادی رو صرف کنیم و سیستم رو آنالیز کنیم. در این مطلب  سورس مدیریت مدرسه به زبان سی پلاس پلاس که فوق العاده کامل و دقیق کدنویسی شده است را برای شما عزیزان قرار داره ایم .

پکیج 19 سورس به زبان C پلاس پلاس

باسلام خدمت کاربران گرامی .در این مطلب 19 سورس کدبه زبان C##  قرار دادیم . امید است مورد استفاده شما عزیزان قرار گیرد .

پروژه های ساختمان داده با زبان C پلاس پلاس

مجموعه ای با بیش از ۴۰ پروژه درس ساختمان داده ها در این مطلب برای شما کاربران گرامی کاملا رایگان و با لینک مستقیم برای دانلود قرار گرفته است و هم اکنون می توانید این پروژه ها را که با زبان برنامه نویسی ++C ساخته شدند را دریافت کنید

ساختمان داده‌ها (Data Structure)‏ از جملهٔ بنیادی‌ترین مباحث مورد نیاز جهت یادگیری و درک بسیاری از مفاهیم عمده در علوم رایانه است.مدل منطقی یا ریاضی سامان‌دهی به داده‌ها به یک شکل خاص، ساختمان داده نام دارد. هر برنامه رایانه‌ای از الگوریتم و ساختمان داده‌ها تشکیل شده‌ است.

نمایش گرافیکی بارش برف و باران در C پلاس پلاس

 پروژه گرافیکی بارش برف و باران در C++    

در این پروژه از کتابخانه ی FreeGlut و ویژوال استدیو C++ 2010 استفاده شده است. این پروژه شامل سه بخش بارش برف و باران و تگرگ می باشد که دکمه های کنترلی سرعت و اندازه در آنها لحاظ شده است.قالب بندی : pdf, cpp

دکمه های کنترلی :

R : باران

S : برف

H : تگرگ

+ و – برای اندازه تگرگ ها می باشد

> و < برای تنظیم سرعت استفاده شده است.

آموزش برنامه نویسی cپلاس پلاس با QT

با سلام .هدف از این آموزش آشنایی با امکاناتیاست که در QT می توانیم استفاده کنیم که شامل کد نویسی کمتر ، خروجی و طرح های بیشتر و در نهایت استفاده در پلت فرمهای مورد نظر می باشد .
 

کتاب مبانی رایانه و برنامه‌ نویسی سی پلاس پلاس به همراه ۳۵۰ مثال برنامه نویسی

با سلام و عرض ادب خدمت کاربران همیشگی در این مطلب کتاب مبانی رایانه و برنامه‌ نویسی سی پلاس پلاس به همراه ۳۵۰ مثال برنامه نویسی رو خدمت شما دوستان عزیز به اشتراک گذاشته ایم. کتاب مبانی رایانه و برنامه‌ نویسی به زبان ++C (خلاصه و معرفی) حاصل سال‌­ها تجربه در زمینه­ تالیف کتب برنامه‌ ­نویسی و تدریس این زبان تدوین است. این کتاب با ارائه مثال‌های ساده، روان، هدف‌دار و متنوع، مفاهیم اساسی برنامه‌ نویسی به زبان ++C را به صورت گام‌به‌گام آموزش ‌می‌دهد. این کتاب آموزش برنامه نویسی سی پلاس پلاس نوسط آقای رمضان عباس نژاد ورزی ارائه شده است.

 

کتاب برنامه‌ نویسی سی پلاس پلاس به همراه ۳۵۰ مثال برنامه نویسی

این کتاب برنامه نویسی سی پلاس پلاس دارای ویژگی‌های زیر است :

  • بیان الگوریتم و فلوچارت، که پایه و اساس یادگیری هر زبان برنامه‌نویسی است.
  • ارائه و حل برنامه‌های متعدد، در این کتاب حدود ۶۵۰ مسئله برنامه‌ نویسی بیان گردیده، که ۱۹۳ برنامه آن در متن کتاب حل شده است.

فصل اول : آشنایی با رایانه ، الگوریتم و فلوچارت

  • انواع رایانه ها
  • سخت افزار و نرم افزار
  • پردازنده مرکزی
  • اجزای تشکیل دهنده رایانه
  • واحد ورودی
  • واحد حافظه
  • حافظه اصلی
  • حافظه کمکی
  • واحدهای اطلاعاتی و حافظه
  • واحد خروجی
  • انتقال اطلاعات و پیدایش شبکه
  • مراحل برنامه نویسی
  • الگوریتم چیست؟
  • تفکر الگوریتم
  • تعریف فلوچارت
  • ساختار تصمیم
  • ساختار حلقه
  • آرایه
  • الگوریتم فرعی
  • مسائل حل شده
  • سیستم اعداد دودویی
  • تمرین ها

فصل دوم: آشنایی با زبان سی پلاس پلاس

  • سطوح مختلف زبان های برنامه سازی
  • زبان های سطح پایین
  • زبان های سطح بالا
  • زبان های سطح مبانی
  • ویژگی های زبان برنامه نویسی c++
  • آموزش زبان های برنامه نویسی
  • کلمات کلیدی
  • انواع داده ها
  • داده های اولیه
  • متغییر
  • ثابت ها
  • عملگرها
  • عملگرهای محاسباتی
  • عملگرهای رابطه ای (مقایسه ای)
  • عملگرهای ترکیبی
  • عملگرهای منطقی
  • عملگرهای خاص
  • اولویت عملگرها
  • تبدیل نوع
  • ساختار برنامه c++
  • دستورات ورودی و خروجی
  • دستورات ورودی
  • دستورات خروجی
  • گرافیکی در c++
  • مسائل حل شده
  • مسائل حل شده در سایت
  • تمرین ها

فصل سوم  : ساختار تصمیم و تکرار

  • ساختارهای تصمیم گیری
  • ساختار تصمیم if
  • ساختار if تو در تو
  • ساختار switch
  • ساختارهای تکرار
  • ساختار تکرار for
  • دستور break
  • دستور continue
  • ساختار while
  • ساختار تکرار do while
  • مسائل حل شده
  • مسائل حل شده در سایت
  • تمرین ها

فصل چهارم : توابع

  • انواع توابع
  • توابعی که برنامه نویس می نویسد
  • نوشتن تابع
  • فراخوانی تابع
  • ارسال پارامترها
  • ارسال پارامتر از طریق مقدار
  • ارسال پارامتر از طریق ارجاع
  • طول عمر و محدوده حضور متغیرها
  • طول عمر متغیر
  • محدوده حضور متغیر
  • ارسال پارامتر از طریق ارجاع
  • توابع inline
  • چند ریختی توابع
  • تعریف آرگومان های اختیاری با مقدار پیش فرض
  • توابع بازگشتی
  • معرفی چند تابع کتابخانه ای
  • مسائل حل شده
  • مسائل حل شده در سایت
  • تمرین ها

فصل پنجم : آرایه ها ، رشته ها و اشاره گرها

  • آرایه های یک بعدی
  • مقدار دهی به عناصر آرایه
  • مقداردهی به عناصر آرایه به صورت خانه های مجزا
  • مقدارهی اولیه به آرایه در هنگام تعریف آن
  • مقداردهی به عناصر آرایه با حلقه تکرار وشئ cin
  • نمایش عناصر آرایه
  • نمایش مقادیر هر عنصر به صورت مجزا
  • نمایش عناصر آرایه با حلقه تکرار
  • تولید اعداد تصادفی
  • مرتب سازی حبابی
  • جست و جوی مقدار در آرایه
  • جست و جوی خطی ( ترتیبی)
  • جست و جوی دودویی
  • آرایه های دو بعدی
  • تعریف آرایه دو بعدی
  • مقداردهی به عناصر آرایه دو بعدی
  • مقداردهی اولیه عناصر آرایه دو بعدی
  • مقداردهی به عناصر آرایه دو بعدی با حلقه های تو در توو شئcin
  • نمایش مقادیر عناصر آرایه دوبعدی
  • رشته ها
  • مقداردهی به رشته ها
  • توابع رشته ای
  • تعریف آرایه ای از رشته ها
  • مقداردهی به آرایه ای از رشته ها
  • نمایش محتویات آرایه رشته ای
  • اشاره گرها
  • توابع و اشاره گارها
  • اشاره گرها و آرایه ها
  • تخصیص پویای حافظه
  • مسائل حل شده
  • مسائل حل شده در سایت
  • تمرین ها

پیوست الف:مسائل تکمیلی و امتحانی

پیوست ب: پروژه برنامه نویسی

تبدیل عبارت میانوندی به پسوندی (Infix To Postfix)

در قسمت قبلی سورس تبدیل عبارت پسوندی به میانوندی (Postfix To Infix) را قرار دادیم در این قسمت سورس تبدیل عبارت میانوندی به پسوندی (Infix To Postfix) را قرار می دهیم. عبارات پسوندی ، پیشوندی و میانودی در درس های مهندسی کامپیوتر از جمه زبان های برنامه نویسی یا درس ساختمان داده تدریس می شود و حتما شما نیز با نحوه کار با این عبارات که به کمک پشته ها انجام میشود آشنایی دارید. شما می توانید این سورس به زبان ++C را بصورت رایگان دانلود نمایید .

سورس لیست پیوندی در سی پلاس پلاس

لیست پیوندی به دنباله ای از عناصر که هر عنصری دارای یک اشاره گر به عنصر بعدی است گفته میشود. لیست پیوندی از ساده ترین ساختارهای داده است که در پیاده سازی آن از Stack ، صف ها و Hash table استفاده میشود. از مزیت های مهم لیست پیوندی نسبت به آرایه این است که ترتیب داده ها در آن با ترتیب قرار گرفتن در حافظه متفاوت است. در زیر چند نمونه سورس لیست پیوندی در C++ قرار داده شده که شما عزیزان میتوانید بصورت رایگان  دانلود نمایید

سورس برج هانوی درسی پلاس پلاس

در برج هانوی سه میله داریم ، میله A ، میله B و میله C و تعدادی دیسک درون میله A قرار دارند (دیسک های کوچک به صورت منظم روی دیسک های بزرگ بزرگ قرار گرفتند). اکنون می بایست دیسک ها را به کمک میله B به میله C انتقال داد با شرایط زیر :

  • در هر زمان فقط یک دیسک را می توانید جابه جا کنید.
  • در زمان اتقال دیسک ها نباید دیسک بزرگتر بر روی دیسک کوچکتر قرار بگیرد.

در لینک زیر ما سورس برج هانوی در C++ را برای شما عزیزان آماده کردیم که می توانید دانلود نمایید.

سورس تبدیل تاریخ میلادی به شمسی و بالعکس در سی پلاس پلاس

حتما در موارد بسیاری شما نیاز به تاریخ فارسی جهت برنامه های خود دارید .در این قسمت ما سورس تبدیل تاریخ میلادی به شمسی و همچنین تبدیل تاریخ میلادی به شمسی به زبان ++C را برای شما عزیزان قرار دادیم که می توانید بصورت رایگان دانلود نمایید.

کتاب آموزش سریع زبان سی پلاس پلاس به صورت PDF فارسی

کتاب آموزش سریع سی پلاس پلاس

در این بخش کتاب آموزش سریع زبان سی پلاس پلاس (C++) که توسط رضا ساپاس یار در ۵۰ صفحه نوشته شده است را برای علاقه مندان به یاد گیری زبان برنامه نویسی قدرتمند C++ آماده کرده ایم که در ادامه می توانید توضیحاتی در مورد آن مشاهده کنید. همچنین لینک دانلود این کتاب آموزشی در انتهای این بخش قرار داده شده است.

معرفی زبان C++ :

سی پلاس پلاس (به انگلیسی: C++) همان طور که از اسم آن نیز مشخص است تعمیم یافته زبان برنامه نویسی C می باشد که امکانات و ویژگی های جدیدی از قبیل شی گرایی به آن اضافه شده است. در زبان C++ نسبت به زبان C کد نویسی آسان تر می باشد. این زبان جزء محبوب ترین و پر قدرت ترین زبان های برنامه نوسی می باشد که اکثر برنامه های بزرگ مانند سیستم عامل ها (ویندوز، لینوکس)، برنامه های کاربردی (فتوشاپ، گوگل کروم) و … با آن نوشته شده اند.

شما با مطالعه این کتاب با مفاهیم و مبانی برنامه نویسی به زبان سی پلاس پلاس همچون دستورات ورودی-خروجی، ساختار تصمیم گیری، حلقه ها، توابع، اشاره گر ها و … آشنا خواهید شد.

سرفصل های کتاب آموزش سریع زبان سی پلاس پلاس :

  • مبانی زبان برنامه نویسی سی پلاس پلاس
  • دستورات ورودی – خروجی
  • ساختار تصمیم گیری
  • حقله های تکرار
  • توابع
  • نوع داده های ساخت یافته
  • اشاره گرها
کتاب آموزش برنامه نویسی امن با زبان سی پلاس پلاس

کتاب آموزش برنامه نویسی امن با زبان C++

در این بخش دانلود رایگان کتاب آموزش برنامه نویسی امن با زبان C++ را به صورت فایل PDF و به زبان فارسی آماده کرده ایم که در قالب ۱۰ فصل و ۳۲۷ صفحه توسط مرکز مدیریت امداد و هماهنگی عملیات رخدادهای رایانه ای (مرکز ماهر) تهیه و منتشر شده است. در ادامه به مقدمه ای از موضوع و معرفی این کتاب پرداخته و فهرست سرفصل ها به همراه لینک دانلود رایگان قرار داده شده است.

مقدمه

با گسترش روز افزون نرم افزارها روی پلتفرم های مختلف، امنیت نرم افزار بیش از پیش مورد توجه قرار گرفته است. وجود آسیب پذیری در یک نرم افزار می تواند اهداف یک مهاجم را تحقق بخشد؛ این اهداف می توانند شامل دسترسی به اطلاعات شخصی یک فرد در رایانه، دسترسی به شبکه خصوصی یک شرکت، سرقت اطلاعات موجود در تلفن همراه، مختل سازی یک سرور و صدها هدف دیگر باشند. شاید یک برنام های به ظاهر، کم اهمیت و ساده جلوه داده شود اما وجود آسیب پذیری در آن ممکن است به خطری جدی برای کاربران آن تبدیل شود. زیرا وجود آسیب پذیری مذکور، به تنهایی برای برآورده ساختن اهداف یک مهاجم کافی است. از این روی، برنامه نویسی ایمن یک برنامه در هر سطح و ابعادی، امری ضروری به شمار می رود.

با توجه به اهمیت امنیت نرم افزار، شرکت های بزرگ دنیا به ارائه راهکارهایی همچون طراحی زبان ها و محیط های برنامه نویسی، مفسر، و مترجم هایی با قابلیت های کنترل امنیتی و نیز، راهکارهای امنیتی روی سیستم عامل و بسیاری از راهکارهای دیگر پرداخته اند، اما با توجه به عدم توانایی راهکارها در کنترل تمامی موارد امنیتی، عدم امکان پیاده سازی راهکارهای امنیتی روی برخی ساختارها، ایجاد محدودیت برای دسترسی به برخی منابع و امکانات، و سایر مشکلات کوچک و بزرگ موجود، برنامه نویسی امن یک برنامه، بهترین راهکار برای محافظت از آن برنامه به شمار می رود.

یکی از زبان هایی که علاوه بر محبوبیت فراوان در میان برنامه نویسان، همیشه از زبان های پر بحث در برنامه نویسی ایمن بوده است، خانواده زبان C و به خصوص در میان آنها زبان C++ است. در این زبان ها، عمده مدیریت منابع به برنامه نویس واگذار شده است، که در صورت عدم مدیریت درست آنها، آسیب پذیری های مختلفی رخ میدهد.

رشد آسیب پذیری نرم افزارها

طبق گزارش های ارائه شده، آسیب پذیری ها در طی چند سال اخیر، رشد قابل توجهی داشته است. همچنین، آسیب پذیری های گزارش شده، در سال ۲۰۱۴ نسبت به سال ۲۰۱۳ ، با رشد ۱۱ درصدی همراه بوده است.

secure programming cpp language book 6306 تصویر

این آمار بیانگر روند صعودی تعداد آسیب پذیری های گزارش شده در سال های اخیر است، که البته رشد کمی نرم افزارها نیز در این بازه، قابل توجه است. بدیهی است که این روند افزایشی، زنگ خطری برای کاربران نرم افزارها محسوب می شود.

برنامه های نوشته شده به زبان سی (C) و سی پلاس پلاس (C++) از جایگاه ویژه ای در این آمار برخوردار هستند، زیرا این زبان ها جدا از محبوبیت، در اکثر محیط های برنامه نویسی و مفسرها، کنترل کامل روند اجرایی یک برنامه و تخصیص منابع را به برنامه نویس سپرده اند، که در صورت عدم مدیریت صحیح این موارد، برنامه با مخاطرات امنیتی جدی روبه رو خواهد شد. در این میان، نیاز است که برنامه نویسان با این مخاطرات آشنا شوند و برنامه را بر مبنای اصول امنیتی طراحی کنند.

ضرورت برنامه نویسی امن

همانطور که اشاره شد، راهکارهای بسیاری برای ایجاد امنیت نرم افزار ارائه شده است. همچنین، شرکت های بزرگ، بخش خاصی را جهت آزمودن سطح امنیتی نرم افزار و نیز برقراری امنیت آن بنا نهاده اند و یا با تکیه بر مکانیزم برون سپاری، نرم افزار را به شرکت های دیگری، که مجری چنین خدماتی هستند، واگذار نموده اند. در این راستا، برنامه ها توسط ابزارهایی خاص مورد سنجش امنیتی قرار می گیرند تا در صورت وجود آسیب پذیری، مالکان را مطلع گردانند. اما، هیچ یک از راهکار های فوق به طور کامل کارآمد نیستند. بهترین راهکار برای جلوگیری از بروز آسیب پذیری نرم افزارها، برنامه نویسی پدافندی و ایمن مبنای آن نرم افزار است.

امروزه این روش، از ارکان اصلی شرکت های نرم افزاری آموزش برنامه نویسی پدافندی و ایمن به برنامه نویسان به شمار می رود. همچنین، شرکت های ارائه دهنده راهکارهای امنیتی، سرویس های آموزش برنامه نویسی پدافندی و ایمن را به برنامه نویسان و شرکت های نرم افزاری ارائه می کنند. شایان ذکر است، برنامه نویسی پدافندی و ایمن یک برنامه تنها بدان معنی نیست که از بروز آسیب پذیری ها جلوگیری به عمل آورد، بلکه، در کنار توجه به فاکتورهای امنیتی، راهکاری برای نوشتن یک برنامه بر مبنای اصول برنامه نویسی است. حتی در صورتی که یک فاکتور به صورت مستقیم با آسیب پذیری مرتبط نباشد و یک خطر امنیتی محسوب نشود، رعایت کد نویسی امن مهم تلقی می گردد.

راهنمای سند مورد مطالعه

سند مورد مطالعه، قوانین را جهت کد نویسی امن در ایمن، قابل اعتماد و امن سیستم ها از طرق مختلف، مانند حذف رفتار های تعریف نشد های که می توانند منجر به برنامه های ناخواسته و نقاط آسیب پذیر قابل سوء استفاده شوند، است. تطابق قوانین کد نویسی تعریف شده در این سند، جهت تأمین و تضمین ایمنی، اعتماد پذیری، و امنیت سیستم های نرم افزاری توسعه یافته در زبان برنامه نویسی C++ لازم هستند اما کافی نیست. همچنین، باید یک طراحی امن و ایمن وجود داشته باشد. معمولا، سیستم حساس به ایمنی، دارای نیازمندی های دقیق تر و سخت گیرانه تری نسبت به استاندارد های کدنویسی است. به عنوان مثال، در این سیستم ها نیاز است که تمامی حافظه به صورت ایستا تخصیص داده شود. اگرچه، این استاندارد کدنویسی در سیستم های با کیفیت بالایی که قابل اعتماد، مستحکم و پایدار در برابر حملات هستند، کاربرد دارند.

هر قانون شامل یک عنوان، یک توصیف، نمونه کدهای ناسازگار، و راهحل های سازگار است. عنوان، یک اختصار است، اما گاهی به تنهایی قادر است کل مفهوم قانون را توصیف نماید. توصیف، نیازمندی های اصولی قانون را مشخص می کند. نمونه کدهای ناسازگار، مثال هایی از کد هستند که نقضی را در قانون ایجاد می کنند. راه حل های سازگار نیز، کدهای مشابه هستند که هیچ قانونی را در این استاندارد کدنویسی نقض نمی کنند. همانگونه که پیش از این مطرح شد، استاندارد کدنویسی مستند و اِعمال پذیر، مؤلفه ای ضروری از کد نویسی در زبان سی پلاس پلاس (C++) به شمار می رود.

استاندارد های کد نویسی، برنامه نویسان را ترغیب می کند تا به جای آنکه بر اساس تمایلات و ترجیحات شخصی خود عمل نمایند، از مجموعه قوانین یکنواخت مشخص شده مبتنی بر نیازمندی های پروژه و نیز سازماندهی آن پیروی کنند. وقتی این امر یکبار انجام پذیرد، استاندارد های مذکور می توانند با استفاده از فرآیند های دستی یا خودکار، به عنوان معیاری جهت ارزیابی کدهای منبع ارزیابی شوند.

کاربرد

هدف اصلی قوانین مورد مطالعه در این مستند، بهبود امنیت نرم افزار از طریق بهبود دانش، آگاهی، شیوه ها، کاربردها، و ابزار مورد استفاده توسعه دهندگان نرم افزار است. این استاندارد می تواند توسط پروژه ها و سازمان ها، جهت توسعه استاندارد های کد نویسی دنباله دار، استفاده شود و روشی مستمر را برای توسعه امنیت نرم افزار فراهم آورد. ممکن است قوانین مذکور توسط قوانین درون سازمانی گسترش یابند. این در حالی است که، قوانین مورد مطالعه در این مستند باید مطیع و منعطف باشند تا با استاندارد موردنظر تطابق یابند.

فهرست مطالب کتاب آموزش برنامه نویسی امن با زبان سی پلاس پلاس

فصل اول: مقدمه

  • ۱مقدمه
  • ۲رشد آسیب پذیری نرم افزارها
  • ۳ضرورت برنامه نویسی امن
  • ۴راهنمای سند مورد مطالعه
  • ۵کاربرد
  • ۶شناسه ها
  • ۷رفتار تعریف نشده
  • ۸نمونه کدهای ناسازگار و راه حل های سازگار
  • ۹استثنائات
  • ۱۰ارزیابی خطر

فصل دوم: اعلان ها و مقداردهی اولیه (DCL)

  • ۱DCL50-CPP یک تابع variadic سَبک C تعریف نکنید
  • ۲DCL51-CPP یک شناسه ذخیره شده را اعلان یا تعریف نکنید
  • ۳DCL52-CPP هرگز مرجع را از نوع const یا volatile توصیف نکنید
  • ۴DCL53-CPP اعلاناتی را که از نظر نحوی مبهم هستند، ننویسید
  • ۵DCL54-CPP توابع تخصیص و آزاد سازی را به عنوان خروجی در یک حوزه، سربار کنید
  • ۶DCL55-CPP از نشت اطلاعات هنگام گذر از یک شی کلاس در حیطه یک مرز اعتماد، جلوگیری نمایید
  • ۷DCL56-CPP از ایجاد چرخه ها در مقداردهی اولیه اشیای ایستا بپرهیزید
  • ۸DCL57-CPP به استثنائات اجازه ندهید از توابع مخرب یا آزادساز فرار کنند
  • ۹DCL58-CPP فضاهای استاندارد را تغییر ندهید
  • ۱۰DCL59-CPP یک فضای بدون نام را در یک فایل سرآیند تعریف نکنید
  • ۱۱DCL60-CPP از قانون تک توصیفی پیروی کنید

فصل سوم: اصطلاحات (EXP)

  • ۱EXP50-CPP به ترتیب ارزیابی برای تأثیرات جانبی وابسته نباشید
  • ۲EXP51-CPP یک آرایه را توسط یک اشاره گر نادرست حذف نکنید
  • ۳EXP52-CPP در عملوند های ارزیابی نشده، به تاثیرات جانبی وابسته نباشید
  • ۴EXP53-CPP حافظه مقدارده اولیه نشده را نخوانید
  • ۵EXP54-CPP پس از طول عمر یک شی، به آن دسترسی پیدا نکنید
  • ۶EXP55-CPP به یک شی cv-qualified توسط یک شی cv-unqualified دسترسی پیدا نکنید
  • ۷EXP56-CPP یک تابع را توسط یک پیوند زبانی نامنطبق فراخوانی نکنید
  • ۸EXP57-CPP اشاره گرهای کلاس های ناقص را تبدیل و یا حذف نکنید
  • ۹EXP58-CPP از یک شی نوع درست به va_start گذر کنید
  • ۱۰EXP59-CPP از offsetof در ارتباط با انواع و اعضای معتبر استفاده کنید
  • ۱۱EXP60-CPP شی نوع لای های غیراستاندارد را از مرزهای اجرا عبور ندهید
  • ۱۲EXP61-CPP نباید یک شی لاندا بیشتر از اشیایی رجوع شده به خود، عمر کند
  • ۱۳EXP62-CPP به بیت های یک ارائه شی، که بخشی از ارائه مقدار شی نیست، دسترسی پیدا نکنید
  • ۱۴EXP63-CPP به مقدار یک شی انتقال یافته تکیه نکنید

فصل چهارم: اعداد صحیح (INT)

  • ۱INT50-CPP به مقدار شمارشی خارج از محدوده تبدیل نکنید

فصل پنجم: کاراکترها و رشته ها (STR)

  • ۱STR50-CPP تضمین کنید که ذخیرهسازی برای رشته ها، دارای فضای کافی برای داده های کاراکتری و کاراکتر تهی است
  • ۲STR51-CPP اقدام به ساخت یک std::string از یک اشاره گر تهی نکنید
  • ۳STR52-CPP از ارجاعات، اشاره گرها و تکرارکننده های معتبر برای ارجاع به عناصر یک basic_string استفاده کنید
  • ۴STR53-CPP دسترسی به مولفه بررسی را محدوده بندی کنید

فصل ششم: مدیریت حافظه (MEM)

  • ۱MEM50-CPP به حافظه آزاد دسترسی پیدا نکنید
  • ۲MEM51-CPP منابع تخصیص یافته را درست آزاد کنید
  • ۳MEM52-CPP خطا های تخصیص حافظه را تشخیص دهید و به آنها رسیدگی کنید
  • ۴MEM53-CPP وقتی طول عمر اشیا به صورت دستی مدیریت می شود، به صراحت اشیا را بسازید و از بین ببرید
  • ۵MEM54-CPP توسط اشاره گر مرتب مناسب، جایابی جدید را برای ظرفیت ذخیره سازی کافی فراهم کنید
  • ۶MEM55-CPP به نیازمندی های مدیریت ذخیره سازی پویای جایگزینی اولویت دهید
  • ۷MEM56-CPP یک مقدار اشاره گر از پیش مالکیت یافته را در یک اشاره گر هوشمند غیر مرتبط ذخیره نکنید

فصل هفتم: ورودی و خروجی (FIO)

  • ۱FIO50-CPP به طور متناوب و بدون مداخله یک فراخوانی مکانیابی، از یک جریان فایل، ورودی و خروجی نگیرید
  • ۲FIO51-CPP وقتی دیگر به فایل ها نیاز ندارید، آنها را ببندید

فصل هشتم: اداره کردن استثنائات و خطاها (ERR)

  • ۱ERR50-CPP به یکباره برنامه را خاتمه ندهید
  • ۲ERR51-CPP تمامی استثنائات را اداره کنید
  • ۳ERR52-CPP از setjmp() یا longjmp() استفاده نکنید
  • ۴ERR53-CPP به کلاس های پایه و یا اعضای دادهای کلاس را در یک اداره کنندهی بلاک try سازنده یا مخرب ارجاع ندهید
  • ۵ERR54-CPP اداره کنندگان catch باید انواع پارامتری خود را از بیشترین اشتقاقی تا کمترین اشتقاقی، مرتب کنید
  • ۶ERR55-CPP به مشخصات استثنا اولویت دهید
  • ۷ERR56-CPP ایمنی استثنا را تضمین کنید
  • ۸ERR57-CPP هنگام اداره استثنائات، منابع را نشت ندهید
  • ۹ERR58-CPP پیش از آغاز اجرای main() تمامی استثنائات را اداره نمایید
  • ۱۰ERR59-CPP استثنایی را خارج از مرزهای اجرا ایجاد نکنید
  • ۱۱ERR60-CPP اشیای استثنا نباید از طریق کپی قابل ساخت، ایجاد شوند
  • ۱۲ERR61-CPP استثنا ها را به وسیله ارجاع مقدار سمت چپ بگیرید
  • ۱۳ERR62-CPP خطاها را هنگام تبدیل یک رشته به یک عدد تشتخیص دهید

فصل نهم: برنامه نویسی شی گرا (OOP)

  • ۱OOP50-CPP توابع مجازی را از طریق سازنده ها یا مخرب ها فراخوانی نکنید
  • ۲OOP51-CPP اشیای اشتقاقی را نبُرید
  • ۳OOP52-CPP یک شی چند ریختی را بدون مخرب مجازی حذف نکنید
  • ۴OOP53-CPP مقداردهنده های اولیه اعضای سازنده را به ترتیب استاندارد بنویسید
  • ۵OOP54-CPP به خوبی به تخصیص خود کپی رسیدگی کنید
  • ۶OOP55-CPP برای دسترسی به اعضایی که وجود ندارند، از عملگرهای اشاره گر به عضو استفاده نکنید
  • ۷OOP56-CPP به نیازمندی های نگهدارنده جایگزینی احترام بگذارید
  • ۸OOP57-CPP توابع عضو خاص و عملگرهای دچار سربارشده را به توابع کتابخانهی استاندارد C ترجیح دهید
  • ۹OOP58-CPP عملیات های کپی نباید شی منبع را جهش دهند

فصل دهم: همزمانی (CON)

  • ۱CON50-CPP یک میوتکس قفل شده را از بین نبرید
  • ۲CON51-CPP مطمئن شوید که قفل های برگزار شده فعال، در شرایط استثنایی آزاد می شوند
  • ۳CON52-CPP به هنگام دسترسی به فیلدهای بیتی چندین نخ، از رقابت های دادهای بپرهیزید
  • ۴CON53-CPP با قفل کردن به ترتیب از پیش تعیین شده، از بن بست اجتناب کنید
  • ۵CON54-CPP توابعی را که ممکن است به صورت جعلی در یک حلقه پدیدار شوند، بپوشانید
  • ۶CON55-CPP هنگام استفاده از متغیرهای شرطی، ایمنی و حیات نخ را حفظ کنید
  • ۷CON56-CPP یک میوتکس غیربازگشتی را که متعلق به فراخوانی نخ است، قفل نکنید