در این پست میخواهیم سراغ کلاس std::map، یکی دیگر از data container های رایج در زبان ++C برویم. فرض کنید میخواهیم برنامه دیکشنری انگلیسی به فارسی بنویسیم. دادههای ما در دیکشنری در یک سمت کلمات انگلیسی هستند و در سمت دیگر توضیحات فارسی این کلمات. کلمات انگلیسی بر خلاف توضیحات همیشه یکتا هستند. مثلاً شما میتوانید “Home” و “House” با …
مشاهده بیشتر »خطر اندیس متغیر در آرایه | زبان برنامه نویسی C
از موارد بسیار کاربردی در برنامهنویسی با زبان C، آرایهها هستند. در اینجا میخواهیم به نکتهای در خصوص آرایهها اشاره کنیم که عدم توجه به آن، میتواند موجب باگهای خطرناک در برنامه شود.
مشاهده بیشتر »کلاس std::vector | زبان برنامه نویسی ++C
یکی از انواع container class های تعریف شده در ++C، که در گروه آرایههای پویا(dynamic) قرار میگیرد، std::vector است. آرایهی پویا به این معنی است که سایز آرایه میتواند در طول اجرای برنامه تغییر کند. این ویژگی به ما در استفاده بهینهتر از حافظه کمک میکند. اگرچه در عوضش باید پردازشی صرف این تغییر کار کنیم که سرعت را از …
مشاهده بیشتر »کلاس std::stirng | زبان برنامه نویسی ++C
یکی از کاربردیترین بخشهای زبان برنامهنویسی ++C/C مربوط میشود به کار با string یا رشته. دلیل این نامگذاری هم این است که رشتهای از کارکترها یک string را میسازند. این موضوع در زبان C ملموستر است. چراکه ما به طور مستقیم متغیری از جنس string نداریم و برای داشتن یک رشته باید آرایهای از جنس char تعریف کنیم. اگر چه …
مشاهده بیشتر »چگونه به خط بعد برویم؟ | راهنمای استفاده از ‘n\’ و std::endl | زبان برنامه نویسی ++C
میخواهیم عبارت “!Hello DIGILOGIST” را در صفحه نمایش یا یک فایل متنی چاپ کنیم: شاید فکر کنید پردازنده به محض دیدن این دستور، کارکترها را برای مقصد ارسال میکند. اما در عمل این اتفاق نمیافتد. اجازه بدید با یک استعاره توضیح بدم. فرض کنید میخواهیم با تاکسی از ابتدای مسیر خطی به مقصدمان برویم. احتمالاً شما هم این تجربه را …
مشاهده بیشتر »Const Object | زبان برنامه نویسی ++C
احتمالاً با تعریف متغیر ثابت از انواع پایه مثل int آشنا باشید. نکتهی زیاد خاصی ندارد. فقط باید بدانید که تنها جایی که کامپایلر به شما اجازهی مقداردهی آن را میدهد، هنگام تعریفش است. حالا میخواهیم بپردازیم به const object. در اینجا هم وقتی شی را به صورت const تعریف میکنیم، اجازه نداریم که data memberها را در جایی به …
مشاهده بیشتر »
دیجیلاگیست محلی برای کسانی که به دنیای دیجیتال و آنالوگ علاقه دارند