C++
×ש ×עך×× ×¢×š× ××. ×ס××× ×××: ×¢×š× ×××ש×. (׀ךק×× ×סך××). | ||
| ×ש ×עך×× ×¢×š× ××. ×ס××× ×××: ×¢×š× ×××ש×. (׀ךק×× ×סך××). | |
| ת××× ×ת Hello world ×ש׀ת ×ת×× ×ת C++ | |
| ׀ך×××××ת | ת×× ×ת ×××׀ך××××, ת×× ×ת ׀ך×׊××ך××, ת×× ×ת ××× ××֟ע׊×××, ת×× ×ת ×× ×š× |
|---|---|
| ת×ך×× ××©×§× |
1983 |
| ×ת×× × | ××××š× × ×¡×ך×ס×ך××€ |
| ××€×ª× | ××××š× × ×¡×ך×ס×ך××€ |
| ××š×¡× ××ך×× × |
C++23 (19 ××××§×××ך 2024) |
| ×××€×ס××ת | ××€×ךשת, ×××§×, ס×××ת, ××××× ×××׊×. |
| ××××ש×× | C++ Builder, clang, Comeau C/C++, GCC, Intel C++ Compiler, Visual C++ |
| ×××©×€×¢× ×¢× ××× | C,â Simula,â Smalltalk, ×¢××, â׀סק×, â ALGOL,â ML |
| ×ש׀××¢× ×¢× | Java, C#, Perl, Vala |
| ס×××ת | .C, .cc, .cpp, .cxx, .c++, .h, .H, .hh, .hpp, .hxx, .h++ .cppm, .ixx |
|
isocpp | |
C++ (× ×××: "×¡ÖŽ× ×€Ö°ÖŒ×Ö·×ס ×€Ö°ÖŒ×Ö·×ס") ××× ×©×€×ª ת×× ×ת ×ך××ת ׀ך×××××ת ××××ססת ×¢× ×©×€×ª ×ת×× ×ת C, ×€×ת×× ××©× ×ת ×ÖŸ80 ××××€×Š× ×ך×ש×× × ××××€× ×ס××š× ××©× ×ª 1985. ש׀ת C++, ×××ש×ת עקך×× ×ת ×©× ×ª×× ×ת ׀ך×׊××ך××, ת×× ×ת ××× ××֟ע׊××× ×ת×× ×ת ×× ×š×. ×©×€× ×× ××× ××ש׀×ת ××€××€××ך××ת ××§×š× ×ת×× ×ª×× ××¢×××[1], ×ש׀×ת ×€××€××ך××ת ××ך×ת (×××× Java ×ÖŸ#C) ×××©×€×¢× ××× × ××××× ×š××.
××ס××ך××
×€×ת×× ××©×€× ××× ××©× ×ª 1979 ×¢× ××× ××××š× × ×¡×ך×ס×ך××€ ×××¢×××ת ×× AT&T, ×××¢× ××ש××× ×× ×, ××× ×ת ×¢××××ª× ×¢× ×××š×¡× ×ך×ש×× × ×ש×× C with classes (××××× × "C ×¢× ××××§×ת")[2]. ס×ך×ס×ך××€ ×š×Š× ××׊×ך ×©×€× ×××©× ×©×ª×©×× ×ת ××תך×× ×ת ×©× Simula, ×©×€× ××× ×ת ע׊××× ××××ת, ××× ×¢× ×תך×× ×ת ×××¢×××ת ×××××ך×ת ×©× ×©×€×ª C.
××©× ×ª 1983 ×××ª× ××©×€× ×ש×××ש ×××¢×××ת ××. ××©× × ×× × ××¡×€× ××©×€× ×××× ××ש××; ××× ××תך: ×€×× ×§×Š××ת ××ך××××××ת, ××¢×סת ×€×× ×§×Š××ת, ××¢×סת ××׀ך××ך××, ××€× ××ת, ×§×××¢××, ×××€×ס××ת ×××§× ××עך×ת ש××š× (//). ××××ª× ××× ×§×××× ××©×€× ×ת ש×× ×××ש ++C[3]. ××©× ×× ×××× ×ת ××¢×××× ×©ÖŸC++ ××× ×ך××× ×ש׀ת C. ×€××ס֟׀××ס ××× ××׀ך××ך ××××× ×¢×Š××ת שק××× ×ÖŸC, ××× ××××× ×¢×š× ××©×ª× × ×©×× ×ÖŸ1. ×××š×¡× ××ס×ך×ת ×ך×ש×× × ×××€×Š× ××©× ×ª 1985 ××× ×¢× ×€×š×¡×× ×ס׀ך ×ך×ש×× ××©×€× ××ת ס×ך×ס×ך××€, ××©× "The C++ Programming Language"[4].
××©× ×ª 1989 ×¢×××× × ××©×€× ×× ××¡×€× ×× ×ª××× ×ת ×ס×× Protected ×ÖŸStatic, ××׀שך×ת ××ך××©× ×ך×××[4]. ××××š× ××©× ×× × ××¡×€× ××©×€× ×××× ××ש××, ת×××× ×ת×× ××ת, ××ש×, × ××¡×€× ×š×§ ××©× ×ת ×ÖŸ90. ××©×€× ×ª××§× × × ×¢× ××× ×ך××× ×תק×× × ×××× ××××× ××©× ×ª 1998, ××ª×§× C++ ISO/IEC 14882:1998[5]. ××ª×§× ××©× × ××©×€× ××Š× ××©× ×ª 2003 ×× ×€×ךס×× ×ס׀ך ת××§×× ×× ××ª×§× ×ך×ש××[6].
××©×€× ×׊×× ×ª×§× ×× × ×ס׀×× ××©× ×× 2011, 2014, 2017, ×××××¢×× ×ש××ת C++11, C++14, C++17.
××ª×§× ×××ש ×ש׀×,C++ 20, ×××××¢ ××××€× ×× ×š×©×× ×-C++2a ×€××š×¡× ××××€× ×š×©×× ×ÖŸ×××× 2019[7]. ××ª×§× ××××ך ×××€××× ×× ××ש×× ×š××× ×××× ×ש׀×, ×××× ranges, â×€×× ×§×Š××ת ×××ש×× ×××× ×š××Š× ×ש××€×ך ××××××ת ×©× constexpr, âconcepts, ××¢×× ×××€××× ×× ×š××× ×××× ×©× ××š×©× ×××©× ××©× ××. ××©×€× × ×׊×ת ×ת×××× ×€×ת×× ×ת××× ×× ××××. ××ª×§× ××¢××× × ××× C++23 ××× ×-19 ××××§×××ך 23. ×ª×§× C++26 × ××Š× ×ש××× ×€×ת××, ×ª×§× ××§××× ×©×× ×€××š×¡× ××××××¡× 2025 ××ת××× × ××××ת ××ª×§× ××¢××× × ×××תך ×ש׀×.

עקך×× ×ת ×ש׀×
ש׀ת C++ ××× ×©×€× ×ך××ת ׀ך×××××ת, ××××ך ××× ×ש××ת ××× ×××××× ×ª×× ×ת×××. ××©×€× ×ª×××ת ×ת×× ×ת ׀ך×׊××ך×× ××× ×©×€×ª C, ×××ס××€× ×ª×××× ×ת×× ×ת ××× ×× ×¢×Š×××, ת×× ×ת ×× ×š×[8] ×××××ת ×× ××£ ת×× ×ת ×€×× ×§×Š××× ×× (×׊×ךת ×€×× ×§×Š××ת ×× ×× ××××ת, ××¢×ךת ×€×× ×§×Š××ת ×׀ך××ך, ×ת×××× ×××× × × ×ª×× ×× ×©××× × ×× × ×©×× ××). ××©×€× ×ª××× × × ××ס×ך×ת ת××× × ×ש××׊×ת ×××©× ××× ××עך××ת ×××××ת ×¢× ××ש ×¢× ××׊××¢××, ××¢×××ת ××××ש×ת ×ש×××ש. ××©×€× ×©×××©× ×ס×××ת ×€×ת×× ×¢××ך ××ש××× ×©×××× ×¢××××, ×ש××§× ×××××, שךת×× (××ש×, ×ס×ך ×××§×ך×× ×, ×××€×ש ×××× ××š× × ×× ×ס×× × ×ª×× ××), ×××ש×××× ×¢× ××׊××¢×× ×§×š××××× ×××׊××¢×× (××ש×, ×ך××××ת ×××€××).
××©×€× ××× ××ת ע׊×××, ת×××ת C++ ×עקך×× ×ת ××××ס, ×ך××©× ×ך×֟׊×ךת××ת (×€×××××ך׀×××). ××ךת ×××× ××× ××× ××€×©× ×ת ××× × ×ת××× ×, ××׀שך ש×××ש ×××ך ××××§× ×ª××× × ×§××××× ××××§× ×¢× ×ª×××× ××€×ת××. ש×××ש × ××× ××× ××׀שך ××××ת ש××××ת ××ך ×ש×× ×××××ך ×××ס×× ×ת ×׊××š× ×××××××× ×ת××§×× × ×ש×××× ××××ך×× ××תך ×©× ×ª×××× ××€×ת×× ×× ×××× ×š×׊×. C++ ת×××ת ××ך××©× ×ך×××, ×××׀שךת ×××××§× ××ת ×ךשת ××©×ª× ××××§×ת ×××תך, ×× ×××× ×ש׀×ת ××××š× ××ת ××ך×ת ×××× C# ×× Java. ×ÖŸ++C ×§××××× ×××€×ס×× ×©××× × ××××§×ת, ×× ××ª× ××ת×× ×× ×€×× ×§×Š××ת ש××× × ×©×××ת ×©× ××××§×.
××××× ×ª ×ת×× ×ת ××× ×š×, ××׀שךת C++ ש×××ש ×ת×× ××ת (templates). ×ת×× ××ת ××׀שך×ת ×ת××ת ×§×× ×××× ××¢××, ××× ×ª××ת ×××ךך×××ת ××ךש×. C++ ת×××ת ×ת×× ××ת ×× ××€×× ×§×Š××ת ××× ×××××§×ת. ×× ×סף, ×§×××ת ××× ×קת ת×× ×ת ××©× "Template Meta-Programming"â (TMP) ×××××× ××¢×Š× "תת֟ש׀×" × ×€×š×ת, ×€×× ×§×Š××× ××ת, ××× ×Š×ת ×ת ×ת×× ××ת ×¢× ×× ×ª ××׀שך ××׊××¢ ××ש×××× ××ך×××× ×××× ××××ך (××ךס××ת ××××ך×ת ×©× ××©×€× × ××ª× ××׊ע ××ש×××× ×××× ×× ××× ×ª×× ××ת). ×× ×סף, ש׀ת ++C ××š×©× ×ת ×× ×× ×× ××××§×š× ×©× ×©×€×ª C, ×¢× ×תך×× ×ת×× ××סך×× ×ת××.
++C ת××× × × ×× ×©××× ×©××ךת ×¢× ×ª××××ת ××××ך ×¢× ×©×€×ª C ××××× ×š×× ××××[8]. ×ך×× ××קך××, ×§×× ××ת×× ×ש׀ת C ××××ך ××ך××¥ ××××ª× ××š× ×× ××¢×ךת ×××ך ×©× ++C, ××¢×ךת ש×× ×××× ××× ×ך××× ×× ××× ×©×× ×××× ×××. C++ ×ת××× × ×ª ×¢× ×× ×ª ×ש××ך ×¢× ×××¢×××ת ×××××ש×ת ××× ×׊×××× ×ª ש׀ת C, ×××× ×× ××× ××××ךת ×¢× ×€× ×š×× ×ש×ך×ת ×ש׀ת ×××× ×[8] (××ת ×× ×××× ×ש׀×ת #C ×ÖŸJava ××ת×ך×××ת ×ך×× ×ש׀ת ××× ××× ×××ך׊ת ×¢× ××× ×××× × ××ך×××××ת) ×××§×€××× ××׀שך ×××©× ×ש××š× ×× ×××ך×× ×××ש×. ×× ×× ×× ×× ×××ס××€×× ×ª×§××š× ×ס×××ת (×××××× ×ך×××ת ×× RTTI) ×× ×€×××¢×× ×××× ×ך××Š× ××× ×× ×× ×× ×©×××ש ×××. ×¢×קך×× ×ש×× ××©×€× ××× ×©×××× ×××× ×©× ××ת×× ×ª ×¢× ××€×¢×××ת ש×ת×׊ע×ת ×××× ×š×׊×. ×¢×קך×× ×× ×©××× ××€×¢×× ×©× ×× ×× ×× ××ס××£ ××× () (×× ×× ××©× × ×׀שך×ת ×××ת, ×× × ×¢×©× ×©×××ש ××¢×ת×× ×š×××§×ת). ת×ת ××ת, × ×××× ×ש××× ×עך×ת ×ת×׊ע ×ך×× ×××× ××§× ×©× ×§×š×ת RAII, ×× × ×××× ×©× ×ש×× ××ª× ×× ××š× ××××××§× ××××§×ש ×××: "×׊×××¢×× ×××××" ×× ××ס׀×× ×××× Vector.
××©×€× ××××ת ×עך×ת ×××€×ס×× ×¡×××ת ××ך××ת, שת׀ק××× ××××ת ש××××ת ×××× ××××ך ×ת××× ×ת ×××׀שך ×׊×ךת ת××× ××ת ××¢×××ת ××תך.
××ש××× ×ש׀×
×ך××ת ×××ש××× ××ס×ס××× ×ש׀ת C ×§××××× ×׊××š× ××× ×× ×××× ×××× ×× ×ש׀ת ++C. ×××× ×ª×ס׀×ת ×ש׀ת ++C ש××× × ×§××××ת ×ש׀ת C.
××××§×
×××××§× (Class) ××× ××× ×©× ×ש׀×. ×××××§× ××× ×ª×××ך ×©× ×××€×ס ××××× × ×ª×× ×× ××€×¢×××ת ש×׀שך ××׊ע ×¢× ×× ×ª×× ××. ××©×ª× ×× ×ס×× ×××ª× ×××€×ס × ×§×š× "ע׊×××" (Objects). ×××××§× ××××ת ××©×ª× ×× (Data members) ×ש×××ת (Member functions ×× Methods). ×ש×××ת ×× ×€×× ×§×Š××ת ש׀××¢××ת ×¢× ×××©×ª× ×× ×©× ×××××§×. ×©× × ×¡×××× ×ש×××× ×©× ×©×××ת ×× ×€×× ×§×Š××ת ××× ××× (Constructors) ××€×× ×§×Š××ת ××ך××¡× (Destructor) ×שך ת׀ק××× ××× ××ת×× ×¢×Š× ××××××§× ××××××§ ×ת ת××× × ××שך ××× × ×××§.
××××ת ××ש×
××××ת ××××©× ×ך×××× ×××××§× ×ש×× ×× ××××× ××× ×ך××× ×××××ש עקך×× ×××××ס (Encapsulation). ××©× × ×©××ש ך××ת ×©× ×××××ת ××ש×:
- ׀ך×× (Private) â ךק ש×××ת ×××××§× ×××××ת ××שת×ש ×××.
- ש××ך (Protected) â ךק ש×××ת ×××××§× ×××××§×ת ש××ךש×ת ××× × ×××××ת ××שת×ש ×××.
- ׊××××š× (Public) â ××××× ×ש ×××©× ×××××.
××× ×× × ××ª× ×××××ך ×€×× ×§×Š×× ×× ××××§× ×ס×××ת ×××ך (Friend). ×××š× ×××××§× ××§×××× ×××©× ××× ×××©×ª× ××, ×ש×××ת ×××××€×ס×× ×©××××ך×× ×××××§×, ×× ×׀ך×××× ××× ×ש××ך××.
××ךש×
× ××ª× ×××××ך ××××§× ××ךשת ("Derived class") ×¢× ×¡×× ××××§× ××ךת, ×ס×ס×ת ("Base class"). ×××××§× ×× ×ךשת ××××× ×××××××ת ×ת ×××©×ª× ××, ×ש×××ת ×ש×ך ך×××× ×××××§× ××ס×ס×ת ××× ×סף ×××××š× ×××× ××©× ×¢×Š××. ××¢××ת ש׀×ת ××××š× ××ת ××ך×ת ש×ת×סס×ת ×¢×××, C++ ת×××ת ××××š×©× ×ך×××, ××××ך ×ך××©× ××ס׀ך ××××§×ת ×× ××× ×ת.
××שך ××ך×ש×× ×ª××× ×ת ×××××§× ××ת ×××××§× ×©× ××× × ××ª× ×עש×ת ××ת ×××ת ×ש××ש ×ך×××:
- ×××š×©× ×Š×××ך×ת â ××ךשת ×ת ×× ×××©×ª× ××, ×ש×××ת ×××××€×ס×× ××××ª× ×š×ת ×××ש×.
- ×××š×©× ×©×××š× â ×××©×ª× ××, ×ש×××ת ×××××€×ס×× ×׊×××ך××× ×©× ×××קת ××× ××§×××× ×ךש×ת ×××©× ×©×××š× (Protected) ××××קת ×××.
- ×××š×©× ×€×š××ת â ×××××§× ×× ××ךת ×××ך×× ×× ××××××× ×©×××××× ××שת×ש ×ת××× ×ת ×©× ×××קת ×××. ×× ×ת××× ×ת ×××× ×××€××ת ×׀ך×××ת ××××קת ×××.
× ××ª× ××ת×××ס ××¢×Š× ××š× ×׊×××¢ ×× ××××ס (Reference) ×××××§× ××ס×ס×ת, ××××€×¢×× ×©×××ת ×©× ××¢×Š× ××× ××עת ×ך×ש ×ת ××××€×ס ××××××§ ש××. ש×××ת ×××× ××××ך×ת "××ך××××××ת". ×× × ××ª× ×ת ×××€×¢×× ×¢× ××× ×ת×××ס×ת ××¢×Š× ××××××§× ××ס×ס×ת, ×× ××€××¢× ×××׊עת ×ש××× ×××××§× ×× ×ךשת, ××ת×× ×ס×× ××¢×Š× ×¢×××š× ×××€×¢×× ×ש×××. ××× ×¡×× ×ס××× ×©× ×€×××××ך׀××× (×ס×× ×××ך ××× ×ª×× ×ת ×× ×š× ××¢×ךת ת×× ××ת â ך×× ×××ש×).
×× ×× ×× ×ÖŸRun-Time Type Informationâ (RTTI) ××׀שך ××§×× ××××¢ ×¢× ××××€×ס ×©× ××¢×Š× ×× ×ª××, ת×× ××× ×š×׊ת ×ת××× ×ת. ×× ×× ×× ×× ××××ך ×ת ×××׀ך××ך dynamic_cast ש××׀שך ××׊ע ×××š× ××××× ××× ×׊×××¢ (×× ××€× ×××) ××××קת ××ס×ס ×××× ×׊×××¢ ×××××§× ×× ××ךת. ××׀ך××ך ×× ××׀שך ×××××§ ××× ××¢×Š× ×× ×ª×× ××× ××××€×ס ×ס××× ×× ××. ××׀ך××ך × ×סף ×©× ×סף ××©×€× ××ס×ךת ×ÖŸRTTI ××× ××׀ך××ך ×ÖŸtypeid. ××׀ך××ך ×× ××׀שך ××§×× ×ת ××××€×ס ××××××§ ×©× ××¢×Š× ×× ×ª××.
××¢××ת ש׀×ת ××ך×ת, ××× C# ××××××, ×ÖŸC++ ××× ×××× ××× ××××§×ת (class) ×××× ××× ×× (struct). ×× ××××§×ת ××× ××× ×× ×××××× ××××× ×©×××ת, ×ךשת ×××× ×××©× ×, ×××××ך ×€×× ×§×Š××ת ××ך××××××ת ××××××ך ך××ת ×××©× ×©×× ×ת. ××××× ××××× ××× ×©×ª××× ×ת ×××× × ××××ך×ת ׊×××ך××ת ××ך×ךת ×××× ××××× ×ª××× ×ת ×××××§× ×׀ך×××ת.
×××€×ס××ת ×××§×
×עך×ת ××××€×ס×× ××©×€× ×××§× ××תך ××× ×©×ש׀ת C. ×ש׀ת C, ××××ך ××׊ע ××ך×ת ×××€×ס×× ×׊××š× ×××××××ת ×××§××ת ××ס×ת, ××× × ××ª× ××שת×ש ××׊×××¢ *void ש×××× ××׊×××¢ ×× ××××××§× ××× ×××€×ס.
×ש׀ת C++ ××קש×× ×××××× ×××ך×ת ×××€×ס×× ×××××¢×ת × ×¢×©×ת ךק ××€× ×××ך×ת ××××× ×ת ××©×€× ×× ×××× ×©×××××š× ×¢× ××× ××שת×ש. ש×××ש ×-*void ××ךש ×××š× ××€×ךשת, ×××× ×¡×× ×©× ×××š× ××©× × ××׀ך××ך ××€×ךש ×ת××× (static_cast, dynamic_cast, const_cast, reinterpret_cast). ת××× × ×× ××׀שךת ××××× ×©××××ת ך××ת ××תך ×ש×× ×××××ך ×××ס×ת ×ת ×׊×××ª× ×××××עת ×××× ×ך×׊×.
××©× ××¢×××× ×©××©×€× ××׀שךת ××ת×× ×ª ××׊ע ×× ×€×¢××× ×××ª× ×× ×©×ך×ך ש××× ×××ת ××¢×× ××× ×××, ××××€×ס××ת ××©×€× ××××× ×€××ת ××שך ×ש׀ת Java, ××ש×.
×××ךת ××§×××¢
×ת ×××ךת ××§×××¢ Const × ××ª× ××׊××× ×××©×ª× × ×©× ××××§×, ×׀ך××ך ×©× ×ת××× ×× ×€×× ×§×Š××, ××¢×š× ×××××ך ××× ××× ××ת××× ×¢×Š××. ××ס׀ת ×-qualifier ×××©×ª× × ×׊×××š× ×¢× ×× ×©×××©×ª× × ×× ××©×ª× × ×××š× ×©××× ××ת××. ×× ×ת×׀שך ××××ך ××××ת ש××××ת ××××׊ך ×§×× ××¢××, ×××× ×¢ ×××שת×ש ××©× ×ת ××××××§××× ×××¢×ת. ×׊××× ×©× ×-qualifier ××ת×××, ×׊×××š× ×¢× ×× ×©××ת××× ×××ת ××××× ××××§×š× ×ת×× ××××××§× ×©× ×××××§× ×©××××ך ×-const.
×ÖŸConst ××××ך ×××× ×¢××ך ×××€×ס×× ×¡×§×ך×××, ×× ×¢××ך ××××§×ת ××× ×¢×©×× ×©×× ××××ת ×ס׀ק, ×××ת ×××××× ×©××××ך ××××× ×©××ת×× ××××ך×× ×©×©××××× ×××××××§× ×× ××©×ª× ×× ×× ××× × ××××§ ××ך ×€×š× ×××. ××¢××ת ×׀שך××ת ש×××××ת ×× ×××¢ ××× ×××××ת:
- ××××××§× ×©×××××§ ×׊×××¢, ×××©× × ×ת ××¢×š× ×××× ××× ×׊×××¢.
- ××××××§× ×©×××××§ ××©×ª× ×× ×©××× × ×ש׀××¢×× ×¢× ×××שק ש×××××§× ×××׊×ת, ××× ×š×§ ×¢× ×××××ש ××€× ×××. ××××××ת × ×€×׊×ת ××× ×× cache ×-mutex.
׀תך×× ×××¢×× ×ך×ש×× × ××× ×¢×§×š×× ×××××ס - ×××××§× ×ª×ש××£ ×××שק ש×× ×¢××ך ××××××§××× ×§×××¢×× ×× ×ךק ×ת×××ת ש×× ××©× ×ת ×ת × ×ª×× × ×××××§×.
׀תך×× ×××¢×× ××©× ××× ××× ×-qualifier âMutable, ש××׀שך ש×× ×× ×©× ××©×ª× ×× ×××××××§× ×©× ×××××§× ×× ××שך ×××××××§× ×ס××× ×-const. ××¢×קך×× ×ª×× ×ת×, ××׊ע ××× M&M â â "Mutable and Mutex go together".
×ת×××× (Reference)
× ××ª× ×××××ך ××©×ª× ××, ׀ך××ך×× ×עך××× ××××ך×× ××ת×××ס×× ××¢×Š× (Reference). ×××××ס ×××× ×××× ××׊××¢×: ××× ××©×ª× ×× ×××××× ××ת×××ס ××××ª× ×¢×Š× ×××€×¢×× ×¢××× ××ש×תף, ××× ×©×׊×××¢×× ×©×× ×× ×××××× ××€×¢×× ×¢× ×××ª× ×¢×Š×. ××©× × ×ס׀ך ×××××× ×××ת××× ××× ×׊×××¢ ×××××ס: ×׊×××¢ ×××× ××××ת ×× ×××ת××, ××××× ××××ס ת××× ×ת×××ס ××¢×Š× ××ש××. ××× ×× × ××ª× ××©× ×ת ×׊××¢× ×©× ×׊×××¢ ××× ×× × ××ª× ××©× ×ת ××××ס, ×××××ס × ×§××¢ ××× ×××š× ×××× ×©× ×××××ס. ××××× × ×ª×××ך×ת ×ש×××ש ×××××ס ××× ××× ××¢×Š× ×¢×Š××.
×עך×ת ××ך×××ת
××©×€× ×§×××ת ×עך×ת × ×××× ×ך×××ת ×××׀שךת ×××€× ×ש××××ת ×©× ×׊ך×ת ×××× ×š×׊ת ×ת××× ×ת (runtime). ××××€×× ×ש××××ת ×××× ×š××Š× ×ת×׊ע ×××׊ע×ת ש××ש ××××× ×©××ך×ת: throw, try ×-catch.
throw
××××× throw ××ך×ת ××ך×קת ש××××, ×× ××ך××§× ×× ×ª×ª×€×¡, ××××€×× ×ש×××× ××¢××ך ××עך×ת ×××€×¢×× ×©×ך×× ×ª×§×š× ×׀ך×׊××ךת ×××€×× ×©×ª×¡××ך ×ת ×ת×× ×ת.
××××§ ××ך×קת ×ש×××× ×׊ך׀×× ××©×ª× × ××ש×× ×©×ך×× × ××¢× ××× ××××ת ×ת ×ש××××. ××¢×× ××©×€× ×ª×××ת ××ך×קת ×× ×¡××× ××××€×ס×× ××§×××××, ××§×× ×× ×Š×× ××× ××ך××§ ×× ×ךק ××××××§××× ×©××ךש×× ×××××€×ס std::exception.
int num_of_students;
std::cin >> num_of_students;
if(num_of_students < 0)
{
throw std::exception ("the num cant be less then 0");
// throw num_of_students; would have worked as well
}
try
××××× ××× ××ך×ת ××× ×©×× ×× ×©×××× ×ש×× ××ת××× (סק××€ - {}) ש××ך×× ×××× ×ª×ת "×ש×××", ×× ×ª××ךק ש×××× ×ת×× ×ת "ת××¢" ש××× ×Š×š××× ×××××§ ×ת ×catch ש××ך××.
×try ××catch ×××××× ××××ת ׊×××××.
try
{
int num_of_students;
std::cin >> num_of_students;
if(num_of_students < 0)
{
std::exception e("the num cant be less then 0");
throw e;
}
}
catch
××××× ×ש×××š× catch "ת×׀סת" ×ת ×ש××××ת ×©× ××š×§× ×catch ש××€× ×× ××€× ×¡×× ×××©×ª× × ×× ×ךק, ××× ×¡×× ××©×ª× × ×Š×š×× ××××ת ש×× catch ×ש××. ××שך ת×׀ס×× ××××××§× by-reference, × ××ª× ××שת×ש ××עך×ת ××ך××©× ×©× ++C ×¢× ×× ×ª ××§×× ×××€×ס×× ×ס×××× ×©×× ××. ××¢×ת××, ×× ×× × ×š×׊×× ××שת×ש ×ת׀××¡× ×€×××××ך׀×ת ×× ×× ×ס׀׊××€×ק׊×× ×©××. ×××××× â ת׀××¡× ×©× ×× ×-std::exception ××× ×€×¢××× × ×€×׊×, ××× ××¢×ת×× × ×š×Š× ××׊ע ×€×¢××× ×©×× × ××שך × ×ךק std::system_error, ש×ת×ך ×ך×× ×©×××× ×©× syscall. ×××§×š× ××, ×××× ×ת׀×ס ×ת ×××××§× ×ס׀׊××€×ת â ×××§×š× ×©×× ×, std::system_error ×§×××, ×××××× ×©×עך×ת ×ש××××ת ××׀שת ×ת ××ת××× ×ך×ש×× × ××׀שך×ת.
× ××ª× ××ת×× catch ×ת×׀ס ×ת ×× ×¡××× ×ש××××ת ×©× ×ךק×, ×¢× ××× ×©×××ש ××××€×ס ×"×××׀ס×" ×©× C++/C â .... ×ת×× ×catch ×××× ×××€× ××××€×× ×ש×××× ×××.
catch (std::system_error& e) {
std::cerr << "System error occurred! " << e.what() << " error code: " << e.code() << std::endl;
} catch (std::exception& e) {
std::cerr << "An error occurred: " << e.what() << std::endl;
} catch (...) {
std::cerr << "An unknown exception was raised" << std::endl;
}
rethrow
××¢×ת××, ××ךת ×ת׀××¡× ××× ×× ×¢× ×× ×ª ×××ש×× ×ת ×ת×× ×ת ×ך×××, ××× ×¢× ×× ×ª ××ת×× ××××× ×××××ך××, ××××ך ××× ×××ש×× ×ת ת×××× ×ך×קת ×ש××××. ××©×€× ×ª×××ת ××× ×× ×× ×©× ×€××¥ ×ך×× ×ש׀×ת ×¢× ×עך×ת ש××××ת ×©× ×§×š× rethrow â ××××ך, ×××©× ×ª×××× ×©× ×-error handling ××××× ×ש×××× ×× × ×ª×€×¡×. ××€×§××× ×©××׊עת rethrow ××× ××××× ×ש×××š× throw ××× ×€×š××ך×× ×××× ××ך××.
××××× ××× rethrow ×××× ×ך××§× ×××ש ×©× ×ש×××× ××× ×§×× ×× ×§×××. ×××××××§× ×©×××× ×ך×× ×ש ××××¢ ס׀׊××€× ××עך×ת ××€×¢×× ×©×× ×ש×××× × ××š×§× â ××××ך, ת××× × ×©× ×ך××ס×ך×× ×עת ×ש××××, ×§×× ×©×××× ×¡×€×Š××€× ××עך×ת ××€×¢×× ××××××. ××שך × ×ך××§ ש×××× ×××ש, ××××ך × ×ת×× throw e ××שך e ××ת ×ש×××× ×©× ×ª×€×¡×, ×××××××§× ×ס׀׊××€× ××עך×ת ××€×¢×× ×××©×ª× × ×¢× ×× ×ª ×ת×ך ×ת ×××§×× ×ש×××× ×××ש, ××¢×× ××שך × ×©×ª×ש ××× ×× ×× ×-rethrow, ××עך×ת ת×ש×× ×¢× ×××××××§× ××ש×.
×××× × ×סף ××× ×ך××§× ×××ש ×ת×× catch ××××, ×× ××× ×©× ×××©×ª× ×, ××©× × ××ª× ××ך××§ ש×××× ×××©× ××××××× ×× ××׊ע rethrow.
×§××× ×× ×××× ×ס×× ×× ××× throw ××ש ×××× rethrow. ×× ×ת×××ª× ×©×××× ×××©× ××××× ××××€×× ×ש×××× ×××©× ×, × ×׊ע throw ××ש ×¢× ×ש×××× ×××ש×, ××××× × ×Š×š×£ ×××× ××××¢ ××ש×××× ×××©× ×. ××¢××ת ××ת, ×× ×× × ×ס×× × ×××€× ×ש×××× ×××©× × ×× ×©× ×ס×× × ××× ×׊××× ×, ×× × ×׊ע rethrow ×¢× ×× ×ª ש-catch × ××× ××תך ×××ךך××× ×× ×¡× ×××€× ×ש××××.
catch (std::system_error& e) {
// Throwing a new exception, with the same object
throw e;
} catch (std::exception& e) {
// Rethrow semantics
throw;
} catch (...) {
// Rethrow. C++ supports capturing the error object of ... using
// the os-specific object std::current_exception()
throw;
}
×××××× ××××× (×€×× ×§×Š××ת ×× ×× ××××ת)
××××× ××××× ××× ××š× ××ת×××ס ××€×× ×§×Š×× ××× ×¢×Š×, ××׀שך××ª× ×׀שך ××׊×ך ×׊×××¢×× ××€×× ×§×Š××ת.
××××× ××××× × ××ª× ×׊××š× ××××:
{×××××ך××ª× ×¢×Š××} (×××©×ª× ×× ×©××€×× ×§×Š×× ××§××ת) [ס×× ×××©×ª× ×× ×©××€×× ×§×Š×× ×ª×ךש, ׊××××š× / ש××ך / ׀ך××]
××¢×סת ×€×× ×§×Š××ת
××¢×סת ×€×× ×§×Š××ת ××× ×××××ת ××שת×ש ××××ª× ××©× ××€×× ×§×Š××ת (×× ×©×××ת) ש×× ×ת, ××ª× ×× ×©××©× × ×××× ××× ××× ××ס׀ך ×׀ך×ך×× ×× ××××€××¡× ×׀ך××ך×× ×××ª× ×× ××§×××ת. ×××ך ××׀שך ×××××ך ×ס׀ך ×š× ×©× ×€×× ×§×Š××ת ש××××× × ××××ת ××׊ע×ת ×€×¢××× ×××× ×× ××§×××ת ׀ך××ך×× ×©×× ××. ת××× × ×× ××׀שךת ××ת×× ×§×× ×§×š×× ××תך, ×× ×× ××××× ×××¢×סת ×€×× ×§×Š××ת עש××× ××׊×ך ××ÖŸ×××ך×ת ×× ×קך×× ×©× ××ÖŸ×ש××¢×ת.
׀ך××ך×× ××׀׊××× ××××
××š× × ×ס׀ת ×××¢××ס ×€×× ×§×Š××ת ××× ×××××ך עך×× ×ך×ךת ×××× ×׀ך××ך×× ×©× ×ת××× ×× ×€×× ×§×Š××. ×× ×ת×׊עת קך××× ××€×× ×§×Š×× ×©××× × × ××××ת ×¢×š× ×¢××ך×, ×× ××§××× ×ת ×¢×š× ×ך×ךת ×××××. ×× × ××ª× ××§××ת ×××××ך ×€×¢××× ××× ×¢××ך ×ס׀ך ש×× × ×©× ×€×š××ך××, ×××× ××׊ע ש××€××× ×§××.
××××ך, × ××ª× ××ת×× ×-++C ×ת ×× ×קשת, ×ת×× ×ת ׀ך×׊××ך×× ×¢× ×××€×ס××ת ×××©× ××××× ×ש׀ת C ××¢× ×× ×׊×× ×€×š×××××ת ×ת××× ×ת ×××××š× ××ת ×××תך. ×ס××× ×× × ×ת×, ×× ×× ×××××¥, ××ת×× ×€×× ×§×Š××ת ×××§×××ת ×ס׀ך ×××ª× ××××ך ×ך×ש ×©× ×€×š××ך××, ×¢× ××× ×©×××ש ×ש××ש × ×§×××ת (...) ××ת××ת ××€×× ×§×Š×× â × ×§×š× Ellipsis parameter. ת××× × ×× ×§×××ת ךק ×¢× ×× ×ª ×××§× ×¢× ××××š× ×©× ×ª××× ××ת ×ש׀ת C ×ש׀ת ++C. ×ת ×ÖŸPrintf ×©× C, ש××× ××××× ××€×× ×§×Š×× ×¢× ×ס׀ך ׀ך××ך×× ××©×ª× × (...), ×××××€×ת ×-++C ××××§×ת ×××× iostream ×××׀שך×ת ×שךשך ׀ך××ך×× ××××€×¡× ×ª×× ×©×××ש ×××¢×סת ××׀ך××ך×× ××××€×ס××ת ×××§×. ××××× ××שת×ש ך××Š× ××§×× ×ס׀ך ×× ××××¢ ×©× ××©×ª× ×× ×ת×× ×€×× ×§×Š××, C++ ××׀שךת ××¢×ךת Parameter pack.
××¢×סת ××׀ך××ך××
××©×€× ×§××× ×× ×× ×× ××¢×סת ××׀ך××ך××. ××××ך, × ××ª× ×××××ך ×××ש ×××¢× ×× ××׀ך××ך ××× ×š××Š× ×××××ך ××©×€× ×× ×©××× ×××× ××¢× ×ש××¢×ת ×¢××ך ×××€×ס×× ×©×× ××, ×××× ×××€×ס×× ×××××ך×× ×¢× ××× ××שת×ש. ××ש×, ××׀ך××ך ×××××ך (+) ×׊××š×ª× ×ך×××× ××׀שך ××××ך ×©× × ××©×ª× ×× ××××××× ×¢×š× ×ס׀ך×. ×× × ××ª× ×××××ך ×××ª× ×× ×©×××× ××¢× ×ש××¢×ת ×× ×¢××ך ××©×ª× ×× ××××€×ס ש×ך ש××××ך ×¢× ××× ××ת×× ×ª.
××× ×× ×××× ×¡×× ×× ××× ××¢×סת ××׀ך××ך×× ×××¢×סת ×€×× ×§×Š××ת, ש×× ××××× ××× ××׀ך××ך×× ××€×× ×§×Š××ת ××× ×ª××××š× ××××. ש×××ש ×××¢××¡× ×¢×©×× ×ש׀ך ×ת קך×××ת ××§××, ×ש×××ש ××××× ×¢×©×× ×××€×× ×§×× ××××ª× ×§×š××.
ת×× ××ת (Templates)
ש׀ת C++ ת×××ת ×ÖŸTemplates â ת×× ××ת. ×ת×× ××ת ××××ת ך×ת ×׀ש×× × ×ס׀ת ××¢× ×š×ת ××׀ש×× ×©× ×××××§×. ×× ××׀שך×ת ×׊×ךת ××××§×ת ×× ×€×× ×§×Š××ת ×¢× ××× ×ª×× ×ת, ××שך ××× ×€×¢× ××€×× ×§×Š×× ×× ××××§× × ×׊ךת ×¢××ך ×××€×ס ×× ×××€×ס×× ××ך××. ×"×××€×ס" ××× ×××€×ס ׀ש×× ×× ××××§× ×ע׊××. ××××€×ס×× "×××¢×ך××" ××××¢×× ×€×š××ך ×¢× ××× ×©×××ש ×ס××ך××× ××××ת×××: "<...>" ×××§×× ×ש×××ש ×-"(...)" ×ך×××××. ××××ך ×××× ×××× ×€×š××ך×× ×××¢××š× ×ת×× ×ת ××ש××€× ×ת ×ת×× ×ת ××ת××.
Template Metaprogramming
××©× × ××× ×קת ת×× ×ת ××©× "Template Metaprogramming" ×× ××§×׊×ך TMP, ××× ×Š×ת ×ת ×ת×× ××ת ×¢× ×× ×ª ××׊ע ××ש×××× ××ך×××× ×××× ×××××ך, ×××× ×¢×©××× ×××€××ת ×ת ×××ש×××× ×©×ש ××׊ע ×××× ×š×׊×.
××× ××§× ×× × ×ª×××ª× ××קך×: ××××× ××× ×ª ××ª×§× ×©× ×©×€×ª ++C, ×ת×ךך ש×ת×× ××ת ×©× ××©×€× ×× ×ע׊×× ×ª×ªÖŸ×©×€× ×©××× ×××ך×× ×, ××××ך ×©× ××ª× ××׊ע ×××׊ע××ª× ×× ××ש×× ×©×××× ×××©× ××׊ע. ×××××× ×ך×ש×× × ×ת××× ×ת ×××ת ×××Š×¢× ××ש×× ×©× ×ס׀ך×× ×š×ש×× ××× ×¢× ××£ ש×× ×¡×××× ××¢××ך ××××ך. ×ךש××× ×©× ××ס׀ך×× ×ך×ש×× ××× ××××ª× ×××§ ××××עת ×ש×××× ×©××€××§ ××××ך ×××× ×©× ××¡× ×××ך ×ת ××§××.
×××× ××©× × ×¡×€×š××ת ך××ת ××ס×××¢×ת ××¢×××× ×××× ××§× ××, ×× ××××× ×©×××ת×××× ×× ××××ª× ×××× × ××׊×ך ×ת תת֟××©×€× ×××ת ×ת×× ++C, ×ת×××ך ש×× ×§×©× ×××× ×. ×××× ××××× ××§××¢ ×§×× ×©××׊ע ××ש×× ×©× ×¢×Š×š×ª:
template <int N>
struct Factorial
{
enum { value = N * Factorial<N - 1>::value };
};
template <>
struct Factorial<0>
{
enum { value = 1 };
};
// Factorial<4>::value == 24
// Factorial<0>::value == 1
void foo()
{
int x = Factorial<4>::value; // == 24
int y = Factorial<0>::value; // == 1
}
ס׀ך×ת ×ת×× ××ת ××ª×§× ×ת
âס׀ך××ת ×ת×× ××ת ××ª×§× ×ת (STL â Standard Template Library) ××××× ××××ש×× ××¢×××× ×©× ××× × × ×ª×× ×× ×š××× ×××× (×××¡× ×ת, ךש××× ××§×שךת, ×¢×¥ ×××€×ש ××××× ××¢××), ××× ×××€××¡× × ×ª×× ×× ×¡×× ×ך×××× ×ש×××× ××× ××§××ך (××¢×š× ××× ××) ×××ך××ת. ×ס׀ך××× ×× ××××× ××××ך×ת××× ×× ×š××× ×©× ××ª× ×××€×¢×× ×¢× ××× × ×× ×ª×× ×× ××× ×× ××××§×ת ××××€×× ××ס׀ך×× ×××§××֟׀××. ××ך××××§×××š× ×©× ×ס׀ך××× ××׀שךת ××ך××× ×××ª× ××§××ת ××ס×ת. × ××ª× ×××ס××£ ××××ך××ª× ××ש ש׀××¢× ×¢× ××× × ×× ×ª×× ×× ××§××××× ×××× × × ×ª×× ×× ××ש ש×××××ך×ת××× ××§××××× ×¢××××× ×¢×××.
ת×ס׀×ת ×××, ת××š×©× ×ך××× (1989), ××¢×סת ××׀ך××ך×× (1989), ת×× ××ת (1991), ס׀ך×ת ×ת×× ××ת ×ס×× ×ך××ת ×ÖŸ(RTTI (1995 ×××× ×¡× ××©×€× ×××ך××.
×§×× ××€××
×ס׀ך××× ×ס×× ×ך××ת ×©× C++ ×׊××¢× ×׀שך×ת ×©× ××׊××¢ ×§××\×€×× ×××׊ע×ת Stream-×× ××× ××׊ע×× ×§×š××× ×××׊ע×ת ×××׀ך××ך >>, ××ת××× ×××׊ע×ת ×××׀ך××ך <<. ×××€×ס×× ××× ××××ך×× ××¢×קך ×××׊ע×ת ×ס׀ך××ת iostream (×§××/×€×× ×¡×× ×ך××) ×ÖŸfstream (×§××/×€×× ×××׊ע×ת ×§×׊××). ××עש×, ×××€× ×¢×××× ×§×× ××€×× ×ת×× ××ך××ת ×ת×× × ×¢×©× ×¢× ××× ×××××§× std::ios_base, ××××§× ××¢××-××ס×ךק××ת ש×× ×׀שך ××׊×ך ××××€× ×ש×ך. ×ת×ת ×××××§× ios_base, ×§×××ת ×××××§× ×ת×× ×ת×ת (×××€×××××ת) basic_ios, ×©× ××¢×× ×××€× ×-stream ×©× ×ª×××× ×× ×š×××. ××××× ××× ×ª××× ×××××××§× std::wfstream ×©× ××¢× ×××€× ××§×׊×× ×¢× ×ª××× ××× ××§××.
×ך××××§××ך×
××ך××××§×××š× ×©× ios × ×ש×ת ××ך××××§×××š× ×××× ×©× ××× ×××××קת ××¢××©× ×©×××ש × ×š×× ×ת××× ×ת ×©× ××©×€× ×©× ×ש××ת ×-anti pattern, ×××× ×ך××©× ×ך×××, ש××ת ××€×¢×××ת ×ס×× protected ××ך××©× ××ך×××××ת. ×××× × ××ס××¡× ×©× ××××××§× ×§×× ×€×× ××ך×× ×××××××§× ××ס×ךק×× ×ס×× buffer â ××××××§× ×ס×× std::basic_streambuf, ש×××ך ×ת×ך ×ת ×××שק ××× ×š× ×©××§×××× ×ת×× ××××××§× ×©×××× buffer. ×××××××§× buffer ××ך×× ×××ª× × ×š×× ×שת×ש×× ×ת×× basic_ios ×¢× ×× ×ª ××׊ע ×€×¢×××ת ×§×× ××€×× ××€×ך×××ת. ××××ש × ××× ×©× buffer ××¢× ××××××§×× ×§××/×€×× ×× ×¡×× ×ך×××× ×××× pipe ×× socket ×××€×©×š× ××ת×× ×ª ××שת×ש ××× ×Š×ך×ת ×-Formatting ×©× std.
××סך×× ×××× × ×©× ××××××§××× ×× ×š××× ×©× C++ ××× ××סך ×××××ת ××שת×ש ×ת××××ת ס׀׊××€××ת ××עך××ת ××€×¢××. ××××××, ××עך×ת ×××€×¢×× ×××× ×ת × ××ª× ××׊ע ×€×¢×××ת ×ס×× ×ך×× ××ת ×¢× ×§×׊×× ×¢× ××× ×©×××ש ×××× × OVERLAPPED, ×ס××× ×©× ×€×¢××× ××× ×ס××× ×¢× ××× Event, ××××××§× ×××××× ×-Windows. ××¢××ת ××ת, ××עך××ת ×××סס×ת Linux, × ××ª× ××§×× ××××ת ×××× ×¢× ××× ×××× × aiocb ××× ×× ×× ×ס××× ××× ××××××× ××עך××ת Unix. ××××¢×ך ש××× ×ס××× ×ת ××ת×ךת ×ת ×©×ª× ××€×¢×××ת ×׊××š× ×××××, × ××× ××©× ×ª 2023, ×××š× ×× ××׀שך ×-Buffer×× ××׊ע ×€×¢×××ת ×ס×× ×ך×× ××ת ××××§ ××××שק ×ס×× ×ך××.
×¢×§× ×ס×××× ××š× ××ך×× ×××××ש×, ×¢×קך ×ש×××ש ××××©×§× ×-IO ×ס×× ×ך×××× × ×¢×©× ××š× ×¢×××€×ת ×©× STL, ש×× ××××š× ×××××ת ×ת ×× ×ת××××ת ×× ××ª× ×ת. ××××× ××× ××× ×××××§× std::basic_fstream, ש×××××§× ×׊×××¢ ××× ×× ×קך××× ×××ת××× ×××××, ×ש×× ×× ×©× ××× ××©× × ×ת ××©× ×. ×ס××× ××תע×××ת ××ת×××× ×××׀שךת ××××××§ ×©× × ×׊×××¢×× ×©×× ×× × ××עת ××× ×× ×š×× ×××ך שך×× ×עך××ת ×××€×¢×× ××××ך×ת ×××××§×ת ×׊×××¢ ××× ×¢××ך ×§×××¥.
××××ת ש×××ש ×ס×ס×
int x;
std::cout << "please enter a number: ";
std::cin >> x;
×××××× ×ת××× ×ת ת××€×ס ×ת ××קש×, ×ת×ת×× ××§××ת ×ס׀ך ש××.
Hello World
××××× ×ת××× ×ת Hello world ×ש׀ת C++:
#include <iostream>
int main()
{
std::cout << "Hello, world!" << std::endl;
return 0;
}
ך×× ××
- C
- Vala
- ××× ××× ×ת××× ×
- Microsoft Foundation Classes - ס׀ך××× ××¢××׀ת ×××§× API ×©× ×××× ×ת ×©× ×ת×× ×ÖŸC, ×××××§×ת C++.
×קך××× × ×ס׀ת
- Stroustrup, Bjarne (2000). The C++ Programming Language, Special Edition, Addison-Wesley. ISBNÂ 0-201-70073-5.
- Stroustrup, Bjarne (1994). The Design and Evolution of C++. Addison-Wesley. ISBNÂ 0-201-54330-3.
- Meyers Scott (2005). Effective C++: 55 Specific Ways to Improve Your Programs and Designs, 3rd Edition, Addison-Wesley. ISBNÂ 0-321-33487-6.
- Meyers Scott (1995). More Effective C++: 35 New Ways to Improve Your Programs and Designs, Addison-Wesley. ISBNÂ 0-201-63371-X.
×§×ש×ך×× ××׊×× ×××
×תך ×××× ××š× × ×ךש×× ×©× C++ (××× ×××ת)- C++, ××תך ×× ×Š××§×××€××× ×ך××× ××§× (××× ×××ת)×§×××ך××:עך××× ×¢× ×ª×× ×ת ×ך××× ××§×
- ×§×ךס C++â ×©× ××ª× ×××× ××ךס××× ××¢×ך×ת (×× ×× ×××¢ ×ש׀ת C)
- ×§×ךס ++C ×©× ××ª× ×××× ××ךס××ת ×ך֟××××
- ×××ך×× ×ש×× ×ÖŸ++C, ×תך ××ת×
- ת××× ××ת ׀ש×××ת ×ÖŸ++С (×× ×××ת)
- ××ך×× ×ש׀×, ×× ×××ת
- ס׀ך ×× ××©× ++C ×××××§×ס׀ך
×עך×ת ש×××××
- â ××× ×קס "TIOBE"
- â Stroustrup, Bjarne (7 ××ךץ 2010). "C++ Faq: When was C++ Invented". ATT.com. ××ך×× ×-×××§×ך ×-2011-09-26.
{{cite web}}: (×¢×ך×) - â Bjarne Stroustrup, A History of C++: 1979â1991, p.17
- 1 2 History of C++ - C++ Information ××תך cplusplus.com
- â ISO/IEC 14882:1998 - Programming languages -- C++ ××תך ×ך××× ×תק×× × ×××× ×××××
- â ISO/IEC 14882:2003 - Programming languages -- C++ ××תך ×ך××× ×תק×× × ×××× ×××××
- â Bhagyashree R, ISO C++ Committee announces that C++20 design is now feature complete, Packt Hub, â2019-02-25 (××× ×××ת)
- 1 2 3 A brief description - C++ Information ××תך cplusplus.com