C++
C++ (си плас плас эсвэл си нэмэх нэмэх гэж дуудна) нь компайлагддаг, free-form бичилттэй програмчлалын хэл. Өндөр түвшний болон доод түвшний програмчлалын хэлнүүдийн аль алиных нь шинж чанарыг өөрт агуулсан байдаг тул дунд түвшний хэл хэмээн ангилдаг.[3] Императив, объект хандлагат, генерик програмчлалын шинж чанарыг бүрдүүлдэг.
![]() | |
Парадигм | Олон парадигмт:[1] процедурт, функционал, объект хандлагат, генерик |
---|---|
Гарсан он | 1983 |
Зохиогч | Бярне Строуструп |
Тогтвортой хувилбар | ISO/IEC 14882:2011 (2011) |
Төрөлжүүлэлт | Static, Nominative |
Голлох хэрэгжүүлэлт | LLVM Clang, GCC, Microsoft Visual C++, Intel C++ Compiler |
Өөрт нөлөөлсөн | C, Simula, ALGOL 68, Ada, CLU, ML |
Бусдад нөлөөлсөн | Perl, LPC, Lua, Pike, Ada 95, Java, PHP, D, C99, C#,[2] Falcon, Seed7 |
Хэрэгжүүлэхэд хэрэглэсэн хэл | C++ |
Үйлдлийн систем | Cross-platform (multi-platform) |
Файлын өргөтгөл | .cc .cpp .cxx .c++ .h .hh .hpp .hxx .h++ |
Вэбсайт | News, status & discussion about Standard C++ |
C++ нь хамгийн өргөн хэрэглэгддэг програмчлалын хэлнүүдийн нэг бөгөөд [4][5] олон тооны техник, програм хангамжийн платформ дээр хэрэгжүүлсэн байдаг. C++ ашиглан бичигдсэн програмууд нь гүйцэтгэл сайтай байдаг тул системийн програм, хэрэглээний програм, төхөөрөмжийн драйвер, эмбэддэд програм хангамж, өндөр гүйцэтгэлийн сервер, клиентийн програм, компьютерийн тоглоом гэх мэт энтертайнментийн чиглэлийн програм хангамж бүтээхэд хэрэглэдэг.[6] Маш олон нээлттэй эхийн болон пропритетари компайлерууд байдгаас FSF, LLVM, Microsoft, Intel компаниудын компайлерүүд нь хамгийн өргөн хэрэглээтэй. C++ нь гарсан цагаасаа C#[2], Java гэх мэт олон програмчлалын хэлэнд нөлөөлөх хүчин болжээ.
C++ хэлийг Белл лабораторид 1979 оноос Бярне Строуструп хөгжүүлж эхлэсэн бөгөөд анх C with Classes буюу класстай Си хэл хэмээн нэрлэж байжээ. Ерөнхийдөө Си хэлэнд класс гэх мэт объект хандлагат технологийн шинж чанарыг нэмж өгсөн байна. 1983 онд C++[7] гэж нэрлэсэн бөгөөд "++" операторыг хошин байдлаар хэрэглэжээ (C + C(lasses) = C++). Си хэл дээр класс, виртуаль функц, operator overloading, давхар удамшил, темплейт, exception handling гэх мэт зүйлсийг нэмж, type system болон бусад зарим шинж чанарыг нь өөрчилжээ.
C++ хэлийг Олон Улсын Стандартын Байгууллага (ISO) стандартчилдаг бөгөөд хамгийн шинэ хувилбар нь 2011 оны 9 сард ISO/IEC 14882:2011 нэртэй стандарт болж хэвлэгджээ (албан бусаар C++11 гэнэ).[8] Тус хэлний стандартууд нь 1998 онд анх ISO/IEC 14882:1998 гэж, дараа нь 2003 онд ISO/IEC 14882:2003 гэж гарч байжээ. Одоогийн стандарт болох C++11 нь эдгээрээс илүү олон давуу тал, өргөжүүлсэн стандарт санг агуулна.
Нэмэлтээр уншихЗасварлах
- Abrahams, David. C++ Template Metaprogramming: Concepts, Tools, and Techniques from Boost and Beyond. Addison-Wesley. ISBN 0-321-22725-5.
- Alexandrescu, Andrei (2001). Modern C++ Design: Generic Programming and Design Patterns Applied. Addison-Wesley. ISBN 0-201-70431-5.
- Alexandrescu, Andrei (2004). C++ Design and Coding Standards: Rules and Guidelines for Writing Programs. Addison-Wesley. ISBN 0-321-11358-6.
- Becker, Pete (2006). The C++ Standard Library Extensions : A Tutorial and Reference. Addison-Wesley. ISBN 0-321-41299-0.
- Brokken, Frank (2010). C++ Annotations. University of Groningen. ISBN 90-367-0470-7.
- Coplien, James O. (1992, reprinted with corrections 1994). Advanced C++: Programming Styles and Idioms. ISBN 0-201-54855-0.
- Dewhurst, Stephen C. (2005). C++ Common Knowledge: Essential Intermediate Programming. Addison-Wesley. ISBN 0-321-32192-8.
- Information Technology Industry Council (15 October 2003). Programming languages – C++, Second, Geneva: ISO/IEC. 14882:2003(E).
- Josuttis, Nicolai M. (2012). The C++ Standard Library, A Tutorial and Reference, Second, Addison-Wesley. ISBN 0-321-62321-5.
- Koenig, Andrew (2000). Accelerated C++ – Practical Programming by Example. Addison-Wesley. ISBN 0-201-70353-X.
- Lippman, Stanley B. (2011). C++ Primer, Fifth, Addison-Wesley. ISBN 0-470-93244-9.
- Lippman, Stanley B. (1996). Inside the C++ Object Model. Addison-Wesley. ISBN 0-201-83454-5.
- Meyers, Scott (2005). Effective C++, Third, Addison-Wesley. ISBN 0-321-33487-6.
- Stroustrup, Bjarne (2000). The C++ Programming Language, Special, Addison-Wesley. ISBN 0-201-70073-5.
- Stroustrup, Bjarne (1994). The Design and Evolution of C++. Addison-Wesley. ISBN 0-201-54330-3.
- Stroustrup, Bjarne (2009). Programming Principles and Practice Using C++. Addison-Wesley. ISBN 0-321-54372-6.
- Sutter, Herb (2001). More Exceptional C++: 40 New Engineering Puzzles, Programming Problems, and Solutions. Addison-Wesley. ISBN 0-201-70434-X.
- Sutter, Herb (2004). Exceptional C++ Style. Addison-Wesley. ISBN 0-201-76042-8.
- Vandevoorde, David (2003). C++ Templates: The complete Guide. Addison-Wesley. ISBN 0-201-73484-2.
Цахим холбоосЗасварлах
- JTC1/SC22/WG21 – The ISO/IEC C++ Standard Working Group
- A paper by Stroustrup showing the timeline of C++ evolution (1991–2006)
- Bjarne Stroustrup's C++ Style and Technique FAQ
- C++ FAQ Lite by Marshall Cline
- C++ FQA Lite – Yossi Kreinin
- Hamilton, Naomi. "The A-Z of Programming Languages: C++", Computerworld, 25 June 2008 Interview with Bjarne Stroustrup.
- Kalev, Danny. "The State of the Language: An Interview with Bjarne Stroustrup", DevX, QuinStreet Inc., 15 August 2008
- Katdare, Kaustubh. "Dr. Bjarne Stroustrup – Inventor of C++", CrazyEngineers, 1 February 2008
- Code practices for not breaking binary compatibility between releases of C++ libraries (from KDE Techbase)
- The Standard C++ Foundation is a non-profit organization that promotes the use and understanding of standard C++. Bjarne Stroustrup is a director of the organization.
ЭшлэлЗасварлах
- ↑ Stroustrup, Bjarne (1997). “1”, The C++ Programming Language, Third. ISBN 0-201-88954-4. OCLC 59193992.
- ↑ 2.0 2.1 Naugler, David (May 2007). "C# 2.0 for C++ and Java programmer: conference workshop". Journal of Computing Sciences in Colleges 22 (5).
- ↑ Schildt, Herbert (1 August 1998). C++ The Complete Reference, Third, Osborne McGraw-Hill. ISBN 978-0-07-882476-0.
- ↑ Programming Language Popularity (2009). 16 January 2009-д хандсан.
- ↑ TIOBE Programming Community Index (2009). 3 August 2011-д хандсан.
- ↑ C++ Applications
- ↑ Stroustrup, Bjarne (7 March 2010). Bjarne Stroustrup's FAQ: When was C++ invented?. ATT.com. 16 September 2010-д хандсан.
- ↑ ISO/IEC 14882:2011. ISO. 3 September 2011-д хандсан.