Professional Documents
Culture Documents
Dili Versiyonlar
K & R C Versiyonu
1978'de Ritchie ve Brian Kernighan The C Programming Language kitabnn ilk basksn
yaptlar. C programclar tarafndan "K&R" olarak bilinen bu kitap, C dilinin gayriresmi
standard olarak kullanld. C'nin bu versiyonu bugn "K&R C" olarak adlandrlr. Bu kitabn
ikinci basks ise aada
anlatlan ANSI C standardn ierir.
K&R dilde u deiiklikleri yapt:
ANSI(C89)/ISO(C95) C Versiyonu
1983'te Amerikan Ulusal Standartlar Enstits (ANSI) bir C standard oluturmak iin
bir kurul oluturdu. Bu almadan sonra, bu kurul standard 1989'da tamamlad ve
standart ANSI X3.159-1989 "Programming Language C (C Programlama Dili)" olarak
yaymland. Dilin bu versiyonu genellikle ANSI C olarak adlandrlr. 1990'da bu standart,
kk deiikliklerle Uluslararas Standartlar rgt (ISO) tarafndan da benimsenip
ISO/IEC 9899:1990 olarak yaymland.
ANSI C'yi oluturmann amalardan biri K&R C'yi ieren ve dile sonradan katlan
aadaki zellikleri de dile katan bir standart oluturmakt.
C99 C Versiyonu
ANSI standartlatrma ileminden sonra C dili uzun bir sre sabit kald, ancak C+
+ gelimeyi srdrd. Buna bal olarak, 1990'larn sonunda ISO standard
gncellendi ve 1999'da ISO 9899:1999 olarak yaymland. 2000 ylnn Mart'nda
ise, "C99" olarak bilinen bu standart ANSI tarafndan da kabul edildi.
C99'un yeni zellikleri;
inline fonksiyonlar
C++'da olduu gibi artk deikenler programn herhangi bir yerinde
tanmlanabilirler
long long int, boolean, complex gibi yeni veri tipleri
deiken uzunlua sahip diziler
C++'dan alnan, // ile balayan tek satrlk program ii aklamalar
snprintf () gibi yeni ktphane fonksiyonlar
stdint.h gibi yeni balk dosyalar
<complex.h>
<string.h>
<iostream.h>
1987 ylna gelindiinde iste C++ programla dili GNU iletim sisteminin resmi derleyicisi
ve modern Unix iletim sistemleri tarafndan derleyici olarak kabul edilen GCC derleme
sisteminin 1.15.3 versiyonunu desteklemeye balamtr.
Multiple Inheritance,
Pointer to Members,
Protected eriim belirteci,
Type-safe Linkage,
Abstract Classes,
Static ve Const Function,
1990 ylnda The Annotated C++ Reference Manual ismiyle yaynlanan kitapta henz
dile eklentisi gerekletirilmemi baz tasarm aamasndaki uygulamalarn tarifi
sunuldu. Bunlar;
Namespaces,
Exception Handling,
Nested Classe.
1990 ylnda ANSI,
1991 ylnda da ISO tarafndan bir C++ standartlar yaynland .
1992 ylnda STL (Standart Template Library) C++ diline uyguland.
1999 ylnda C++ iin yazlm birok algoritma, fonksiyon, snf ve thread leri ieren
olduka byk Boots ktphanesi yaynlanmtr.
Elliptic integrals,
Exponential integral,
Laguerre polynomials,
Legendre polynomials,
Hermite polynomials,
Bessel functions,
Newmann functions,
Beta function,
Riemann zeta function.
Dil alanndaki yeni zellikler; auto and decltype, defaulted and deleted functions, final
and override, trailing return type, rvalue references, move constructors/move assignment,
scoped enums, constexpr and literal types, list initialization, delegating and inherited
constructors, brace-or-equal initializers, nullptr, long long, char16_t and char32_t, type
aliases, variadic templates, generalized unions, generalized PODs, Unicode string literals,
user-defined literals, attributes, lambda expressions, noexcept, alignof and alignas,
multithreaded memory model, thread-local storage, GC interface, range for (based on a
Boost library), static assertions (based on a Boost library)
Ktphane alanndaki yeni zellikler; atomic operations library, emplace() and other use
of rvalue references throughout all parts of the existing library, std::initializer_list, stateful
and scoped allocators, forward_list, chrono library, ratio library, new algorithms, Unicode
conversion facets
Boost alannda yaplan deiiklikler; The thread library, exception_ptr, error_code and
error_condition, iterator improvements (std::begin, std::end, std::next, std::prev)
C++14 Versiyonu
Bu versiyonla daha nceli yeniliklerle standartlaan C++ versiyonlar zerinde kk
revizyonlar gereklemitir.