ورود به حساب ثبت نام جدید فراموشی کلمه عبور
برای ورود به حساب کاربری خود، نام کاربری و کلمه عبورتان را در زیر وارد کرده و روی «ورود به سایت» کلیک کنید.





اگر فرم ثبت نام برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.









اگر فرم بازیابی کلمه عبور برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.





صفحه 1 از 2 12 آخرین
نمایش نتایج: از 1 به 10 از 12
  1. #1
    تاریخ عضویت
    2020/06/02
    نوشته ها
    6
    2
    Junior Member

    تمام سوالات من در مورد c++

    عرض ادب و احترام و خوشحالم که در جمع شما هستم و بهتون خسته نباشید میگم.
    ببخشید سوال اولم اینه که :
    ۱- میخواستم بدونم آیا قرار دادن using namespace std مارو محدود میکنه و باید std:: برای هر خطی که مینویسیم بنویسیم یا نه؟اصلا کارش در اصل چیه دقیقا؟

    ۲- میخواستم بدونم const کارش چیه؟ طبق آموزشهایی فهمیدم که خط کد رو غیر قابل تغییر میکنه.حالا سوالم اینه که کجا غیر قابل تغییرش میکنه؟تو برنامه ای که باز میشه؟ یا تو خود کد نویسی منظورشه؟
    و اینکه کد زیر رو که من مینویسم بهش نگاه کنین...
    زمانی که متغیر های a,b,c رو تغییر دادم به ۴و۶و۹و زیر a,b,c خط کشیده میشه و کامبایل نمیشه برنامه...
    میخوام دقیقا متوجه بشم کاربرد این const چی هست تو مثلا یه بازی یا برنامه...

    #include<iostream>
    #include<fstream>

    using namespace std;

    int main()
    {

    const int a = 2;
    const int b = 5;
    const int c = 3;

    a = 4;
    b = 6;
    c = 9;

    const int sum = a + b + c;

    cout << sum << endl;

    ۳ سوال بعدی:
    من چون در صنعت گیم میخوام فعالیت کنم و یاد بگیرم این زبان رو سوالاتم مربطو به اون حوزه میشه تقریبا:
    میخوام بدونم مفهوم کلاس رو درست متوجه شدم یا نه؟
    آیا در یک بازی یک تفنگ کلاس محسوب میشه یا شلیک کردن؟
    اگه تفنگ کلاس محسوب میشه بس ظاهرا atribute اون یا ویژگیش میشه -قدرت تخریب-رنگ اسلحه-اندازه اسلحه-و... حالا رفتارش یا behavior اون رو هم ما میتونیم بگیم برد شلیک-نحوه ی خشاب عوض کردن... آیا درسته؟ اخه من احساس میکنم مثلا تعویض خشاب رو هم میتونیم بگیم رفتاره و هم ویژگی... اینطور نیست؟
    ممنونم
  2. #2
    تاریخ عضویت
    2017/11/22
    نوشته ها
    364
    239
    Administrator
    سلام...برای سوال یک:
    عبارت using namespace برای این استفاده میشه که به کامپایلر بگیم...ما میخوام از موجودیت های موحود داخل این فضای نام بدون نوشتن فضای نام اول هر موجودیت استفاده کنیم (خودت دستور usign کاربردهای دیگه ای هم داره و فقط مربوط به فضای نام نیست)...حالا اگه برنامه شما مثل کدی که قرار دادین ساده باشه و namespace های زیادی توش تعریف نشده باشه...میتونید همون بالا یا داخل تابعی که از اون فضای نام استفاده می کنید...عبارت using namspace something رو بنویسید .... البته به نظر من بهتره فضای نام رو به همراه عبارت مورد نظر بنویسید...مثلا std::cout...چون اگه cout خالی باشه...وقتی کسی به کد نگاه میکنه...نمیدونه که این cout همون دستور استاندارد سی پلاس پلاس هستش یا چیزی که توسط برنامه نویس یا کتابخانه های دیگه تعریف شده...ولی اگه اولش فضای نام رو بنویسید...دیگه هر کسی ببینه مطمئنه که این دستور بخشی از فضای نام std و مربوط به سی پلاس پلاس هستش.....برای درک بهتر این مثال رو ببینید.
    q5jj 1 - تمام سوالات من در مورد c++
    تو کد بالا چون تابع logError هم داخل فضای نام foo و هم داخل bar تعریف شده...کامپایلر نمیدونه منظور برنامه نویس کدوم تابع هستش و خطای کامپایل میده.
    t184 2 - تمام سوالات من در مورد c++
    تو این کد چون به صورت کاملا صریح اسم کامل تابع نوشته شده...کامپایلر و کسی که به کد نگاه میکنه...کامل متوجه میشه منظور کدوم تابع هستش.


    چون متن این پست زیاد شد...بقیشو تو پست بعدی مینویسم.


  3. #3
    تاریخ عضویت
    2017/11/22
    نوشته ها
    364
    239
    Administrator
    سوال دوم...وقتی از کلمه کلیدی const استفاده میکنیم در واقع به کامپایلر میگیم که...نمیخوایم مقداری که به این متغیر یا چیز دیگه اختصاص داده شده دیگه تغییر کنه....یعنی یه بار فقط موقع تعریف مقدار دهی میشه (و حتما باید مقدار دهی شه...نمیشه تو خط مثلا یک تعریف کرد و تو خط 3 مقدار دهی کرد...باید تو همون خطی که تعریف میشه مقدارش هم مشخص بشه)...منظور از غیرقابل تغییر شدن، داخل کدها است....یکی از کاربردهای خوب const رو میتونید تو مثال زیر ببینید.
    zim 2 - تمام سوالات من در مورد c++
    تو کد بالا داخل شرط if یه خطای منطقی وجود داره و به جای == برنامه نویس نوشته = ...و این یعنی شرط حلقه همیشه درسته و کدهای داخل شرط اجرا میشن...چون این یک خطای منطقیه کامپایلر بهش گیر نمیده و اگه از IDE های پیشرفته استفاده نکنید متوجه این خطا نمیشید...حالا اگه کد بالا به این شکل نوشه شه
    92lf 1 - تمام سوالات من در مورد c++
    یعنی متغیر foo رو که مقدارش برامون مهمه رو به صورت const تعریف کنیم....اگه یه جایی از برنامه به طور اشتباهی بخوایم مقدارش رو تغییر بدیم....کامپایلر بهش گیر میده
    -----------------------------------------------------------------------------
    سوال سوم....بهترین راه برای درک برنامه نویسی شیء گرا و کلاس و کلا مفاهیم مربوط به اون...تمرین زیاد و استفاده داخل برنامه های کوچیک و بزرگه...تا زمانی که واقعا ازش استفاده نکنید...نمیتونید با توضیحات تئوری بفمید که چیکار میکنه.
  4. #4
    تاریخ عضویت
    2020/06/02
    نوشته ها
    6
    2
    Junior Member
    عرض ادب و احترام فراوان خدمت شما... واقعا ممنونم بابت توضیحاتتون... با اینکه من خیلی مبتدی ام و اول کار شاید کمی بعضی جاها رو متوجه نشدم اما برام خیلی مفید بود و از سایت خوبتون تشکر میکنم...
    امیدوارم روز به روز پیشرفت سایتتون بیشتر بشه...
    حالا من یجورایی میخوام از ریشه بدونم خیلی چیزا رو...
    اینکه مثلا میدونم که این عبارت یعنی فراخوانی کتابخانه زبان c++...
    include#<iostream<
    و اینم میدونم که فکر گنم .h یعنی فراخوانی فایل هدر...
    حالا این فایل هدر چی هست اصلا؟ ممنون میشم در برنامه یا بازی توضیح بدین... نمیخوام کدی و تئوری گفته بشه... میخوام واقعا بفهمم من اول بسم الله اصلا میخوام مثلا یه بازی کوچیگ ویندوزی بسازم یا اصلا یه برنامه ساده که پنجره اش باز بشه... این فایل h. یا کتابخانه اصلا کارشون چیه؟
    من دلم نمیخواد به صورت تئوری یاد بگیرم... میخوام بدونم واقعا کاربرد این چیزا چیه...
  5. #5
    تاریخ عضویت
    2017/11/22
    نوشته ها
    364
    239
    Administrator
    فایل های سرآینده (همون header files)....فایل هایی هستن که به طور خیلی ساده الگوی (prototype) کلاس ها، توابع و اطلاعات مربوط به Data Type ها و غیره رو تو خودشون نگه میدارن...و موقعی که تو برنامه ای include بشن...به کامپایلر میگن که...مثلا داخل فلان فایل dll یه تابعی با این مشخصات تعریف شده...و کامپایلر میدونه چطوری اون تابع رو فراخوانی کنه...به عبارت دیگه هدر فایل اطلاعات مربوط به یک سری قابلیت که تو یه فایل دیگه پیاده سازی شدن رو به کامپایلر و برنامه نویس میده...تا بتونن از اونا استفاده کنن...وقتی با دستور include هدر فایلی رو اضافه میکنیم...قبل از اینکه کد برنامه وارد مرحله کامپایل بشه...اطلاعات موجود داخل اون هدر فایل توسط پیش پردازنده (preprocessor) به فایل اصلی برنامه اضافه میشه.
  6. #6
    تاریخ عضویت
    2020/06/02
    نوشته ها
    6
    2
    Junior Member
    جناب استاد بزرگوار اسمتون رو هم نمیدوم... خیلی ازتون ممنونم..
    حاال من میخوام یه سوال از شما که با تجربه ی این حرفه هستین ببرسم که من برای یادگیری اصولی c++ اونم در زمینه ی بازی سازی باید چه مراحلی رو طی کنم و چکار کنم؟از کجا شروع کنم؟ واقعا از بس که هر اموزشی دیدم هی تا اخرش hello world بود دیگه احساس بدی بهم دست میده... بله میدونم بله بله... اما این بله واقعا به نا کجا اباده به نظرم... چون من میخوام بدونم اقا این hello world حالا که چی ما نوشتیمش... یا مثال ها دیگه... کجا کاربرد دارن اینا... ب بسم اله الان من یه ایده دارم و میخوام شروع کنم به نوشتن کد های بازیش... واقعا خسته شدم از اموزش های تکراری که همش یا تیوری بودن یا عملی هاشم تو حوزه ی تخصصی من از بایه و صفر کسی شروع نکرده با اموزش... والا بخدا یه استاد خصوصی هم برای c++ گرفتم و وسط دوره گفت اقا راستی من بهت بگما در حوزه ی گیم ما نیستیما فقط c++ رو یادت میدم... والا بخدا این چند وقته که تو نت و یوتویوب گشتم بیشتر از اونقدر هزینه ای که بابت این استاد کردم چیز یاد گرفتم... البته بازم حس میکنم برام فایده نداشته... چون مثلا الان من بدونم که اقا int برای فلان مقدار هاست... یا امثال این چیزا... خوب اخرش که چی؟ تو ساخت بازی کجا به کارم میاد... واقعا برام دغدغه شده... ممنون میشم از تجربیاتتون در اختیارم بزارید
  7. #7
    تاریخ عضویت
    2017/11/22
    نوشته ها
    364
    239
    Administrator
    سلام...اگه میتونید فیلم یا آموزش انگلیسی ببینید(برای اینکه پیشفرت کنید باید حتما رو انگلیسی تون کار کنید...چون منابع فارسی خیلی کمه یا اکثرا پولیه)....اینا رو ببینید فک کنم به دردتون بخوره...اولی درمورد نحوه شروع یادگیری سی پلاس پلاس برای ساخت بازیه...دومی هم یه یوتیوبره که آموزش های مختلفی در مورد سی پلاس پلاس و ساخت موتور بازی سازی داره...بخش آموزش سی پلاس پلاسش خیلی خوبه...خودم خیلی چیزا یاد گرفتم...و اینکه من خودم دانشجوعم...و استاد یا حرفه ای نیستم تو زمینه سی پلاس پلاس .
  8. #8
    تاریخ عضویت
    2020/06/02
    نوشته ها
    6
    2
    Junior Member
    عرض ادب و احترام... و خسته نباشید...
    ببخشید میخواستم بدونم آیا متغیر های float و double که اعشاری هستن منفی هم میگیرن؟ چ.ون تو یه اموزش دیدم میگه float تا ۳۸ رقم اعشار میگیره و double تا ۳۰۸ رقم... آیا اعشاری منفی هم داریم؟
  9. #9
    تاریخ عضویت
    2017/11/22
    نوشته ها
    364
    239
    Administrator
    میتونیم ذخیره کنیم و از استاندارد IEEE 754 برای ذخیره سازی استفاده میشه...تو این استاندارد یه بیت به اسم sign bit داریم که علامت عدد رو نگه میداره...منظور از علامت همون مثبت و منفیه... اگه عدد منفی باشه sign bit میشه 1 و اگه مثبت باشه میشه 0... این sign bit به صورت جدا ذخیره میشه...این مثالو ببین

    xuct capture - تمام سوالات من در مورد c++
    جزئیات زیادی ازش نمیدونم.

  10. #10
    تاریخ عضویت
    2020/06/25
    نوشته ها
    1
    0
    Junior Member
    سلام دوستان. چندتا سوال داشتم از خدمتتون. من رشتم رمزنگاری هستش الگوریتم های رمز رو قبلا ما تو متلب و پایتون پیاده کردیم. اما اینبار میخواستم یه الگوریتم رمزنگاری سبک lightweight cryptography را روی برد STM32F401RE پیاده کنم. نرم افزار keil و STM32cubeMX را نصب کردم. تا حدودی هم با زبان c++ از قبل آشنایی داشتم. فقط نمیدونم چجوری و از کجا شروع کنم. ممنون میشم راهنمایی بفرمایید.
    اسم الگوریتم هم PICCOLO هستش و هدفم هم از پیاده سازی روی این برد اندازه گیری مصرف انرژی و توان، زمان اجرا و حافظه اشغال شده هستش.
صفحه 1 از 2 12 آخرین
نمایش نتایج: از 1 به 10 از 12

کلمات کلیدی این موضوع

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •