PDA

View Full Version : ویژگیهای ناامن C++



mehdi58
شنبه 06 خرداد 1385, 12:33 عصر
سلام
در جایی خوندم که C# رو به صورت زیر تعریف کرده :

“ C# یک زبان جدید و مشابه با C++ است اما با این تفاوت که فاقد ویژگیهای ناامن C++ است”
لطفا در مورد ویژگیهای ناامن C++ توضیح بدین.

omid_Ahmadi
شنبه 06 خرداد 1385, 13:27 عصر
منظور از ویژگی های نا امن، قسمتهای مربوط به کست کردن متغییرها به هم است. توی C++ این مورد کنترل نمی شد و به همین دلیل اگر کست اشتباهی به وسیله ی برنامه نویس صورت می گرفت ممکن بود که برنامه کرش کنه یا هزار تا مشکل دیگه پیش بیاد. اما توی سی شارپ نوع داده ای متغییر ها قبل از هر کاری چک میشن تا صحت اون کار تایید بشه.
در کل این مورد برمی گرده به همون Type Safety. اگر می خوای بیشتر بدونی، این مورد رو سرچ کن.

sianooshonline
شنبه 06 خرداد 1385, 13:35 عصر
البته زبان ++C بسیار قدرتمند است اما منظور از ناامن در اینجا همون کلمه Unsafe است که برای برنامه نویسهای Net. آشناست.
در ++C وظیفه مدیریت حافظه و منابع سیستمی بردوش خود برنامه نویس بود و این امر هم با استفاده از اشاره گرها امکان پذیر بود اما در #C این وظیفه رو خود کامپایلر به عهده گرفته و بنابراین از اشتباهاتی که ممکن بود برنامه نویس انجام بده دیگر خبری نیست.
به همین دلیل کدهای معمول در #C کدهای Safe هستند.البته میشه با استفاده از Unsafe Keyword از اشاره گر ها هم استفاده کرد.
موفق باشید

mamadgmail
شنبه 06 خرداد 1385, 13:59 عصر
در واقع همونطوری که گفتن بحث unsafe در ++C همون مسئله مدیریت حافظه بود. که به نظر من با وجود اینکه در برنامه نویس های مبتدی باهاش مشکل دارن ولی برای کسایی که مفاهیم حافظه و اشاره گرها رو خوب درک کردن به نظر من همین اشاره گر ها واسشون یک مزیت بزرگ محسوب می شه.

sianooshonline
شنبه 06 خرداد 1385, 22:01 عصر
کاملا درست میگید قدرت اشاره گرها رو فقط کسانی درک می کنند که درصورت عدم استفاده از اونها کارشون واقعا" گره می خورده.
درهرصورت اشاره گرها از نظر من قدرتمندترین خصوصیت زبانهایی مثل ++C,C است.
موفق باشید