پویا اندیش مرکز آموزش های تخصصی هنر

مشاوره رایگان دوره ها

۱۱۰ ۱۱۱ ۰۲۱-۲۸

جستجو
این کادر جستجو را ببندید.

دوره های نیمه دوم نوروز 1403

فرصت رو از دست نده و
همین حالا ثبت نام کن !

روز
ساعت
دقیقه
ثانیه

پکیج های آموزشی پویااندیش با تخفیف های تکرار نشدنی

فرصت رو از دست نده و
همین حالا ثبت نام کن !

تصویرگران پویااندیش

مرکز آموزش های تخصصی هنر

c++ چیست

++c چیست و چه کاربردی دارد ؟ + فیلم

فهرست عناوین

همین الان ببین : فیلم c++ چیست ؟

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

c++چیست ؟

C++ چیست
C++ چیست

C++ یک زبان برنامه‌نویسی تخصصی و قدرتمند است که برای توسعه نرم‌افزارهایی با عملکرد بالا و پردازش داده‌های پیچیده استفاده می‌شود. این زبان، توسعه‌یافته‌ترین نسخه از زبان C است و امکاناتی را برای برنامه‌نویسان فراهم می‌کند که بسیار کاربردی است. بی‌یارنه استراس‌تروپ ریاضی‌دان دانمارکی در سال 1979 این زبان برنامه نویسی را توسعه داده است.
C++ از ویژگی‌هایی مانند:

  • انتزاع
  • پلی‌مورفیسم
  • وراثت
  • شیءگرایی
  • قابلیت تعریف
  • ساختاردهی کلاس‌ها و شیءها
  • اشاره‌گرها
  • جدول پرتابل

را پشتیبانی می‌کند و توسعه برنامه‌های پیچیده با دقت بالا را امکان پذیر می کند.

تاریخچه ++c

تاریخچه c++
تاریخچه c++
  • ++C نخستین بار در سال 1985 منتشر شد ولی اولین نسخه رسمی ان در سال 1998 با نام ++C98 معرفی شده است.
  • در سال 2003 نسخه جدیدی از زبان برنامه نویسی سی پلاس پلاس با نام ++C03 منتشر شد که باگ های نسخه قبل در آن اصلاح شده بود.
  • ++C11 (یا ++C0X) استاندارد جدید سی پلاس پلاس در سال 2011 به طور رسمی انتشار یافت
  • استاندارد ++C14 در سال 2014 با بهبودهای نسبی از نسخه قبل منشر شد ++C17 (یا ++C1z) آخرین نسخه سی پلاس پلاس تا سال 2017 است
  • آخرین نسخه اصلی از زبان برنامه‌نویسی C++ که با عنوان C++20 شناخته می‌شود، در دسامبر سال ۲۰۲۰ منتشر شد. C++20 شامل بهبودهای متعددی در زمینه‌هایی مانند مدیریت حافظه، کارایی، انواع داده، برنامه‌نویسی ژنراتیو و بسیاری موارد دیگر است.

ویژگی های c++ چیست ؟

ویژگی های c++ چیست ؟
ویژگی های ++c چیست ؟

زبان برنامه نویسی سی پلاس پلاس روی هدف و روش های رسیدن به ان تمرکز دارد و به نوعی ساختار محور است. برخی از ویژگی های ویژگی های c++ عبارتند از:

  • محوریت موضوعی
  • پشتیبانی کتابخانه‌ای قوی
  • سرعت کدنویسی بالا
  • تالیف و گردآوری کدها
  • پشتیبانی اشاره‌گر

کاربرد ++c

کاربرد c++
کاربرد c++

مهم ترین کاربردهای ++c چیست ؟ به طور گسترده در حوزه های صنعتی مختلف از زبان برنامه نویسی سی پلاس پلاس استفاده می شود. از طراحی شناخته شده ترین سیستم های عامل گرفته تا نرم افزارهای هوانوردی می توانند با این زبان برنامه نویسی طراحی و توسعه داده شوند. برخی از مهم ترین های کاربردهای ++c این ها هستند:

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

ساخت بازی Game making با c++

ساخت بازی با c++
ساخت بازی با c++

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

  • Wrld f Warcraft
  • Cunter-Strike
  • StarCraft

برخی از محبوب ترین نمونه های استفاده از c++ در ساخت بازی است.

مرورگرهای وب Web browsers

Web browsers
Web browsers

اغلب مرورگرهای کاربر پسند نظیر:

و غیره از زبان برنامه نویسی ++c استفاده می کنند. کار: c++ چیست با این زبان کدها به شکل صفحات تعاملی تحت وب هستند. سی پلاس پلاس به مرورگرها امکانتبادل داده ها با سرعت بیشتر و تاخیر کمتر را میدهد. به این ترتیب کاربران تجربه خوبی در استفاده از مرورگر دارند و نیازی نیست مدت ها برای دیدن نتیجه جستجو، وقت هدر دهند. برای مثال در سیستم‌های (Crawling) و (Indexing) گوگل از زبان برنامه نویسی c++ استفاده شده است.

اینترنت اشیا Internet of Things

Internet of Things
Internet of Things

Internet of Things به مفهوم مجموعه ای از تجهیزات است که به وسیله اتصال به یک شبکه با یکدیگر در ارتباط هستند. فناوری اینترنت اشیا IOT کاربرد گسترده ای در زندگی انسان دارد. بسیاری از:

  • لوازم خانگی
  • اتومبیل ها
  • لوازم پزشکی

و غیره با اینترنت و سخت افزارهای مبتنی بر c++ در دسترس کاربران هستند. امکانات اشیا و تجهیزات هوشمند، به مراتب بالاتر از نمونه های سنتی است. ساعت های هوشمند، تلویزیون های با فناوری اسمارت، کنترل از راه دورها و غیره از پر کاربردترین وسایل مبتنی بر نرم افزارهای سی پلاس پلاس هستند.

کاربرد ++c در ابزارهای یادگیری ماشین Machine learning tools

کاربرد c++ در ابزارهای یادگیری ماشین
کاربرد c++ در ابزارهای یادگیری ماشین

در ابزارهای یادگیری ماشین، C++ به عنوان یک زبان برنامه‌نویسی با کارایی بالا استفاده می شود.

  • عملکرد سریع
  • کنترل دقیق حافظه
  • قابلیت های پورت پذیری

برخی از ویژگی های بنیادی زبان برنامه نویسیc++ است که برای:

  1. پیاده سازی الگوریتم های پیچیده یادگیری ماشین
  2. پردازش داده های بزرگ

استفاده می شود.

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

نرم‌افزارهای مورد استفاده در هوانوردی Software used in aviation

نرم‌افزارهای مورد استفاده در هوانوردی
نرم‌افزارهای مورد استفاده در هوانوردی

آیا می دانستید در صنعت هوانوردی، نقش c++ چیست ؟ اغلب نرم افزارهایی که برای پروازهای تجاری و نظامی مورد استفاده هستند با زبان برنامه نویسی سی پلاس پلاس توسعه یافته اند. این موضوع به معنای اهمیت C++ در صنعت هوانوردی است. سیستم های ایمنی و حیاتی در هواپیماها نیز با ++c طراحی شده اند. برای عملکرد صحیح موتورها و بال هواپیما نرم افزارهای بسیار حساس و کلیدی وجود دارد.

انیمیشن‌سازی Animation

انیمیشن‌سازی با c++
انیمیشن‌سازی با c++

نرم افزارهای متنوعی برای ساخت انیمیشن موجود است. بسیاری از این اپلیکیشن ها مبتنی بر زبان برنامه نویسی c++ توسعه یافته اند. برای مثال: نرم افزارهای:

  • رندر
  • مدل سازی
  • انیمیشن های سه بعدی
  • انیمیشن های شبیه سازی

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

  • پردازش تصویر
  • برنامه‌های کاربردی حسگر تلفن همراه
  • جلوه‌های بصری
  • مدل‌سازی

که عمدتاً در C++ کدگذاری شده است نیز مشاهده کرد. این نرم‌افزار توسعه‌یافته برای:

  • انیمیشن
  • محیط‌ها
  • گرافیک‌های حرکتی
  • واقعیت مجازی
  • خلق شخصیت

استفاده می‌شود.

سیستم‌عامل ++c چیست tutrial

سیستم‌عامل C++ چیست
سیستم‌عامل C++ چیست

برای شروع به یادگیری یک زبان برنامه نویسی خاص می توانید از توتوریال ها استفاده کنید. Tutorial در یادگیری و درک مفاهیم و اصول اساسی c++ هم بسیار کمک کننده است و به شکل ساده تری می توانید طرز کار سیستم عامل سی پلاس پلاس را فراگیرید. توتوریال‌های سی پلاس پلاس معمولاً شامل مثال‌های کدی، توضیحات جامع و تمرین‌های عملی هستند.
برای مفاهیم پایه نظیر استفاده از متغیرها، توابع و غیره تا مفاهیم پیشرفته می توان از tutorial سیستم عامل C++ کمک گرفت. البته منابع متعددی برای یادگیری این زبان برنامه نویسی وسیع وجود دارد که با توجه به سیستم های آموزشی متفاوت، قابل استفاده هستند.

اهمیت یادگیری سی‌پلاس‌پلاس چیست ؟

اهمیت یادگیری سی‌پلاس‌پلاس
اهمیت یادگیری سی‌پلاس‌پلاس

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

مزایای c++ چیست

مزایای ++c
مزایای ++c

1- کارایی و سرعت بالا: سی پلاس پلاس به عنوان یک زبان برنامه‌نویسی بسیار بهینه و سریع شناخته می‌شود. از آنجا که به زبان ماشین نزدیک است و به‌طور مستقیم با سیستم عامل و سخت‌افزار تعامل دارد، امکان استفاده بهینه از منابع سیستمی و بهینه‌سازی کد وجود دارد.
2- پشتیبانی از برنامه‌نویسی سیستمی: c++ یک زبان برنامه‌نویسی سیستمی است که برای توسعه:

  • سیستم‌های عامل
  • درایورها
  • کتابخانه‌های سیستم
  • سیستم‌های نزدیک به سخت‌افزار

مورد استفاده قرار می‌گیرد. این زبان امکانات و ویژگی‌هایی را برای دسترسی به منابع سیستم و ایجاد نرم‌افزارهای سیستمی فراهم می‌کند.
4- قابلیت توسعه پیچیده: سی پلاس پلاس از ویژگی‌های شیءگرایی پشتیبانی می‌کند که به برنامه‌نویسان امکان می‌دهد کدهای پیچیده را سازماندهی کنند. این قابلیت‌ها به برنامه‌نویسان امکان ایجاد کدهای قابل توسعه و نگهداری را می‌دهد.
5- پشتیبانی از کتابخانه‌های قدرتمند: C++ برای توسعه نرم‌افزارهای گسترده و پیچیده از کتابخانه های بسیاری استفاده می کند . کتابخانه های سی پلاس پلاس به برنامه نویس ها امکان استفاده از ویژگی های پیشرفته تری را می دهد که منجر به افزایش سرعت پروژه می شود.

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

و غیره به کمک کتابخانه های قدرتمند امکان پذیر است.
6- قابلیت همراهی با زبان‌های دیگر: سی پلاس پلاس با قابلیت همراهی و تعامل با زبان‌های دیگر مانند C و Assembly سازگاری بسیار خوبی دارد. این به برنامه‌نویسان امکان انتقال کدهای قدیمی‌تر را به سی پلاس پلاس می‌دهد. در ادامه با استفاده از قابلیت‌های پیشرفته‌تر زبان، نرم‌افزارهای قدرتمندتری را پیاده‌سازی کنند.
7-مورد استفاده در دامنه‌های گسترده

معایب سی پلاس پلاس

معایب سی پلاس پلاس
معایب سی پلاس پلاس

c++ یک زبان برنامه نویسی بسیار قدرتمند است اما دارای برخی ایرادات نیز هست. معایب ++c چیست :
1-پیچیدگی: سی پلاس پلاس دارای دستورات و قواعد زبان بیشتری نسبت به جاوا و پایتون است. برای برنامه نویسان تازه کار، درک و فهم این زبان برنامه نویسی، پیچیده تر است.
2- امکان خطاهای پایه‌ای: سی پلاس پلاس اجازه می‌دهد تا برنامه‌نویسان به صورت مستقیم با حافظه و سخت‌افزار ارتباط برقرار کنند و این می تواند منجر به بروز برخی خطاها شود. جابجایی خارج از حد مجاز حافظه (buffer verflw) و رفرنس های نال (null references) یا خطاهای جدی در رخداد حافظه‌ای (memry leak) یا تداخل حافظه (memry crruptin) از این موارد هستند.
3-عدم تطابق با برنامه‌های متعدد: به دلیل پیچیدگی و ویژگی‌های خاص سی پلاس پلاس، برنامه‌های نوشته شده با این زبان ممکن است در سیستم‌ها و محیط‌های مختلف به مشکل بخورند. برای اجرای برنامه‌های سی پلاس پلاس در سیستم‌های مختلف، نیاز به کامپایلر‌ها و ابزارهای خاصی است.

شرکت های معروفی که از ++c استفاده میکنند

شرکت هایی که از c++ استفاده میکنند
شرکت هایی که از c++ استفاده میکنند

c++ چیست و چه شرکت هایی از آن استفاده می کنند؟ سی پلاس پلاس در صنایع مبتنی بر هوش مصنوعی کاربرد فراوانی دارد. اغلب سیستم عامل ها و نرم افزارهای مهندسی نیز با این برنامه تولید شده اند. سیستم های معماری، بانکی، صنعت ساخت بازی و صنایع خودرو و فضایی نیز مبتنی بر C++ هستند. معروف ترین نرم افزارها که با زبان برنامه نویسی سی پلاس پلاس عبارتند از:

  • مرورگر Ggle Chrme ( توسط c++ ، جاوااسکریپت و پایتون نوشته شده)
  • مرورگر PERA مرورگر Firefx ( توسط برنامه نویسی C++ ،جاوااسکریپت ،C , HTML نوشته شده)
  • نرم افزار گرافیک سه بعدی ۳Ds Max
  • نرم افزار گرافیکی Adobe Photoshop
  • نرم افزار ارتباطی Skype
  • سیستم عامل Windows
  • سیستم‌عامل ubuntu
  • سیستم‌عامل mac
  • بازی Call f Duty

بازار کار ++c

بازار کار ++c
بازار کار ++c

شرکت های بزرگ بین المللی همچنان از زبان برنامه نویسی سی پلاس پلاس استفاده می کنند. به نظرتان چرا آمازون، گوگل، مایکروسافت از c++ استفاده می کنند؟ توسعه دهندگان بازی های رایانه ای، صنایع خودروسازی، هوافضا و پزشکی و غیره نیز از سی پلاس پلاس بهره می برند. طیف وسیعی از صنایع و شرکت ها در لیست استفاده کنندگان زبان برنامه نویسی سی پلاس پلاس هستند حالا با این تفاسیر نظرتان در مورد بازار کار c++ چیست ؟
شغل برنامه نویسی از مشاغلی است که آینده درخشانی دارد. پیشرفت تکنولوژی و هوش مصنوعی نیز، از مواردی است که با برنامه نویسی ارتباط مستقیم دارد. c++ کاربرد وسیعی در علوم و دانش روز دارد و به نوعی زبان ارتباط با فناوری های پیشرفته است. افرادی که در برنامه نویسی سی پلاس پلاس آموزش دیده اند و تجربه کافی دارند می توانند مشاغل کلیدی و حساس تری را انتخاب کنند.
تقاضا برای استخدام افراد متخصص در برنامه نویسی c++ از دو سال پیش به شدت، بیشتر شده است. این موضوع را از لیست آگهی های استخدام به خوبی متوجه خواهید شوید. در حال حاضر تعداد متخصصین در این حوزه به نسبت بازار کار، بسیار محدود است و نیاز به افرادی با دانش بالای c++ هر روز بیشتر می شود.

آینده c++

آینده c++
آینده c++

آینده برنامه نویسی ++c چیست . با توجه به پیشرفت های اخیر، موقعیت های زیادی برای:

  • دانش آموختگان کامپیوتر
  • IT
  • برنامه نویسان

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

جمع بندی

همه چیز درباره c++
همه چیز درباره c++

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

سوالات متداول

++c ساده‌تر است یا پایتون؟

یادگیری پایتون نسبت به سی پلاس پلاس، ساده تر است. کدهای c++ کمی سخت تر و پیچیده تر اس.

آیا یادگیری زبان ++C برای افراد مبتدی پیشنهاد می شود؟

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

++c سخت‌تر است یا جاوا؟

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

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

سی پلاس پلاس گسترس یافته C است. c++ یک زبان برنامه نویسی مستقل و جدا به حساب می آید. در واقع c++ در طراحی و نحوه پیاده سازی، کاملا متفاوت است.

5/5 - (1 امتیاز)
تهیه شده توسط گروه تحقیقاتی آموزشگاه پویااندیش
نوع آموزش ✅ عکس ➕ فیلم
منبع ✅ گروه تحقیقاتی پویااندیش
سطح آموزشی ✅ گام به گام
درجه بندی آموزشی ⭐⭐⭐⭐⭐

آموزشگاه تخصصی هنر تصویرگران پویااندیش

پویااندیش بهت کمک میکنه که با یادگیری اصولی رشته ای که دوست داری ، رویاهات رو به واقعیت تبدیل کنی .
چطوری این کارو میکنه ؟ 👇

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

بهترین سرمایه گذاری ،
 سرمایه گذاری هر فرد روی خودشه

پس منتظر چی هستی ؟

همین حالا دوره دلخواهت رو ثبت نام کن و آینده تو بساز .

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.