- Katılım
- 10 Ağustos 2025
- Mesajlar
- 174
- Puanı
- 18
- Yaş
- 38
- Konum
- 06 - Ankara
- Web
- www.sohbetly.org
- Eğitim
- Beykent Universitesi Mimarlık Fakültesi
- İlgi Alanı
- ArabaSürmek,
- Cinsiyet
- Erkek
- Takım
-
- Medeni
- Bekar
C++
C++ (
İlk olarak C With Classes (Sınıflarla C) olarak adlandırılmış, 1983 yılında ismi C++ olarak değiştirilmiştir. Günüzümüzde en çok kullanılan programlama dillerinden biri olmuştur.
C++ tasarlanırken
C++, C'nin sağladığı alt seviye sıkı donanım desteğinin yanında farklı veri türleri, sınıf, template, sıradışı durum yönetimi, isim alanı (namespace), işleç fazladan yüklemesi,
Başlangıçta, Stroustrup'un "C with Classes"ı sınıflar, türetilmiş sınıflar, güçlü türleme (strong typing), varsayılan fonksiyon argümanları (default argument) gibi özelliklerini bir C derleyicisi olan CPre'ye eklenmiştir.
1982'de Stroustrup C with Classes'ı daha da ileri taşıyan, pek çok diğer isimlendirmelerden sonra "C++" (++ C'deki artırma operatörüdür) olarak anılan dili geliştirdi. Sanal fonksiyon, fonksiyon adı ve operatör fazladan yüklenmesi, referanslar, sabit oluşturma (constant), tür-güvenli bellek tahsisi (new ve delete kullanarak), geliştirilmiş tür kontrolü, BCPL'deki gibi iki slash karakteriyle yapılan tek satırlık yorumlar (//) eklenen özellikler arasındaydı. Dahası, Stroustrup, C++ için yeni bir derleyici olan
1984'te, Stroustrup ilk giriş/çıkış kütüphanesini gerçekledi. Bir isimli fonksiyon yerine çıkış operatörünün (<<) sağlanması fikri
1985'te
1989'da C++ 2.0 yayınlandı ve 1991'de The C++ Programming Language kitabının güncellenmiş ikinci baskısı yapıldı.
1998'de C++98 yayınlandı ve dilin standardlaştırılması başladı. 2003'te küçük bir güncelleme olan
C++98 sonrasında C++'ın evrimi 2011'e kadar görece yavaş ilerlemiştir. 2011'de
Stroustrup, 3 Ocak 2018'de "C++ programlama dilini kavramsallaştırması ve geliştirmesi" nedeniyle
(Aralık 2022 itibarıyla) C++
C++'ın geliştirilmesi sürecinde, dil son adını almadan evvel, "new C" ve "C with Classes"
Bir programlama dilini oluşturan gramer, anlam ve
C++ dilinin özelliklerini belirleyen bu belge (buradan sonrasında, standard)
İlk standard 1998'de ISO/IEC 14882:1998 adıyla yayınlandı. Sonrasında C++03, C++11, C++14,
|
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
C++ Standard Komitesi'nin onayladığı logo | |
|
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
| Çok paradigmalı:
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
,
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
,
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
,
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
,
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
,
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
,
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
|
|---|---|
| İlk çıkışı | 1985 (40 yıl önce) |
| Tasarımcı |
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
|
|
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
| Bjarne Stroustrup
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
ISO/IEC JTC1/SC22/WG21 |
|
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
|
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
ISO/IEC 14882:2024 (19 Ekim 2024 (9 ay önce)) |
|
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
|
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
/ (19 Mart 2023) |
|
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
|
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
,
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
,
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
,
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
,
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
,
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
,
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
|
|
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
|
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
,
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
,
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
,
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
,
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
,
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
,
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
Mevcut
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
|
| Etkilendikleri |
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
,
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
,
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
,
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
,
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
,
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
|
| Etkiledikleri |
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
,
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
,
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
,
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
,
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
,
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
,
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
,
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
,
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
,
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
,
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
|
|
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
|
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
|
| Olağan
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
| .C .cc cpp .cxx .c++ .H .hh .hpp .hxx .h++ .h .cppm .ixx |
|
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
|
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
|
| Ailesi |
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
|
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
Bjarne Stroustrup, C++ dilinin yaratıcısı, AT&T New Jersey'deki ofisinde, y. 2000C++ (
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
, telaffuz: si pılas pılas),
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
tarafından 1979 yılında
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
geliştirilmeye başlanmış,
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
'yi kapsayan ve çok paradigmalı, yaygın olarak kullanılan, genel amaçlı bir
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
.İlk olarak C With Classes (Sınıflarla C) olarak adlandırılmış, 1983 yılında ismi C++ olarak değiştirilmiştir. Günüzümüzde en çok kullanılan programlama dillerinden biri olmuştur.
C++ tasarlanırken
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
ile olabildiğince uyumlu olması
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
göz önüne bulundurulmuş ve
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
'deki tüm örnek kodun derleneceği şekilde tasarlanmıştır.
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
C++, C'nin sağladığı alt seviye sıkı donanım desteğinin yanında farklı veri türleri, sınıf, template, sıradışı durum yönetimi, isim alanı (namespace), işleç fazladan yüklemesi,
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
fazladan yüklemesi, referans, hafıza yönetimi ve pek çok kütüphane imkanı sunar.Tarihi
1979 senesinde bir Danimarkalı
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
olan
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
, sonradan C++ olarak bilinecek olan "C with
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
" üzerinde çalışmaya başladı.
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
Onu yeni bir dil geliştirmeye iten şey, doktora tezini geliştirirkenki programlama deneyimiydi. Stroustrup,
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
'nın büyük yazılımlar geliştirmeye yardımcı olan pek çok özelliğe sahip olduğunu, fakat dilin pratikte kullanım için fazla yavaş kaldığını,
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
'in ise hızlı ancak büyük yazılımlar geliştirmek için fazla alt-seviye olduğunu fark etti. Stroustrup
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
'ta çalışmaya başladığında
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
bir sistem olarak incelemeye başladı. Doktora deneyiminden yola çıkarak,
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
dilini
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
'nın özellikleriyle zenginleştirmek için yola çıktı.
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
C dili seçildi çünkü genel amaçlı, hızlı, taşınabilir ve zaten yaygın olarak kullanılıyordu.Başlangıçta, Stroustrup'un "C with Classes"ı sınıflar, türetilmiş sınıflar, güçlü türleme (strong typing), varsayılan fonksiyon argümanları (default argument) gibi özelliklerini bir C derleyicisi olan CPre'ye eklenmiştir.
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
1982'de Stroustrup C with Classes'ı daha da ileri taşıyan, pek çok diğer isimlendirmelerden sonra "C++" (++ C'deki artırma operatörüdür) olarak anılan dili geliştirdi. Sanal fonksiyon, fonksiyon adı ve operatör fazladan yüklenmesi, referanslar, sabit oluşturma (constant), tür-güvenli bellek tahsisi (new ve delete kullanarak), geliştirilmiş tür kontrolü, BCPL'deki gibi iki slash karakteriyle yapılan tek satırlık yorumlar (//) eklenen özellikler arasındaydı. Dahası, Stroustrup, C++ için yeni bir derleyici olan
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
'u geliştirdi.1984'te, Stroustrup ilk giriş/çıkış kütüphanesini gerçekledi. Bir isimli fonksiyon yerine çıkış operatörünün (<<) sağlanması fikri
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
[
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
]
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
tarafından önerilmiştir (McIlroy öncesinde
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
öneren kişidir).1985'te
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
'in ilk baskısı yapılmış ve henüz resmi bir standard olmadığından bu kitap bir kesin referans olarak kabul edilmiştir.
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
C++'ın ilk ticari gerçeklenimi aynı yılın ekim ayında yayınlanmıştır.
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
1989'da C++ 2.0 yayınlandı ve 1991'de The C++ Programming Language kitabının güncellenmiş ikinci baskısı yapıldı.
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
C++ 2.0 ile çoklu kalıtım, soyut sınıflar, statik üye fonksiyon, const üye fonksiyonlar ve protected üyeler eklenmiştir. 1990'da The Annotated C++ Reference Manual yayınlandı. Bu kitap, gelecekte yayınlanacak olan resmi standard için bir taban teşkil etmiştir. Sonrasında eklenen özellikler, template, sıradışı durum yönetimi, isim alanları, yeni isimli castlar (tür dönüştürme) ve bool veri türüdür.1998'de C++98 yayınlandı ve dilin standardlaştırılması başladı. 2003'te küçük bir güncelleme olan
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
yayınlandı.C++98 sonrasında C++'ın evrimi 2011'e kadar görece yavaş ilerlemiştir. 2011'de
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
yayınlandı. C++11 ile standard kütüphane genişlemiş ve C++ programcılarının faydalanacağı pek çok özellik eklenmiştir. Bir başka küçük güncelleme olan
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
Aralık 2014'te yayınlandı.
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
daha büyük bir güncellemedir ve Aralık 2017'de yayınlanmıştır.
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
Şubat 2020'de tasarısı sonlandırılan
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
C++20 standardı 4 Eylül 2020 onaylanmış ve resmi olarak 15 Aralık 2020 basılmıştır.
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
Stroustrup, 3 Ocak 2018'de "C++ programlama dilini kavramsallaştırması ve geliştirmesi" nedeniyle
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
mühendislik ödülünün 2018 yılı kazananı olarak duyurulmuştur.
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
(Aralık 2022 itibarıyla) C++
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
'te
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
'yı TIOBE sıralamasındaki tarihinde ilk kez geride bırakmış
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
ve
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
programlama dillerinin ardından üçüncü sırada listelenmiştir.
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
Etimoloji
Stroustrup'a göre, "isim C dilinden yapılan değişimlerin evrimsel doğasını vurguluyor."
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
İsimlendirme Rick Mascitti tarafından (1983'ün ortalarında)
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
yapılmıştır ve ilk defa Aralık 1983'te kullanılmıştır. Mascitti'ye bununla ilgili soru yöneltiğinde (1992'de), mizah amaçlı bu ismin verildiğini belirtmiştir. İsimlendirme C'nin ++ operatöründen (eklendiği
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
değerini artırır) gelir ve "+" geliştirilmiş bilgisayar programlarını ifade etmede kullanılan yaygın bir isimlendirme geleneğidir.C++'ın geliştirilmesi sürecinde, dil son adını almadan evvel, "new C" ve "C with Classes"
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
diye anıldığı da olmuştur.Felsefe
C++'ın yaşamı boyunca geliştirilmesi ve evrimi bir dizi ilkeye dayandırılmıştır:- Gerçek sorunlara göre yönlendirilmeli ve özellikleri gerçek programlarda hemen faydalı olmalıdır.
- Her özellik (makul derecede açık bir yöntemle) gerçeklenebilir olmalıdır.
- Programcılar kendi programlama stillerini seçme özgürlüğüne sahip olmalıdır ve bu stil C++ tarafından tam olarak desteklenmelidir.
- Faydalı olacak bir özelliğe izin vermek, C++'ın her türlü yanlış kullanımını engellemekten daha önemlidir.
- Programları, ayrı, iyi tanımlanmış parçalar şeklinde organize edilmesini sağlayacak imkanlar sunmalı ve bu ayrı geliştirilen parçaların birleştirilmesini mümkün kılmalıdır.
-
Ziyaretçiler için Gizlenmiş Link, Görmek için, Giriş yap veya üye ol.örtük (implicit) ihlallerine izin verilmemelidir (ancak programcı tarafından kasıtlı (explicit) olarak talep edilen ihlallere izin verilir).
- Kullanıcı tarafından oluşturulan türler, yerleşik türlerle aynı destek ve performansa sahip olmalıdır.
- Kullanılmayan özellikler, oluşturulan
Ziyaretçiler için Gizlenmiş Link, Görmek için, Giriş yap veya üye ol.olumsuz etkilememelidir (örneğin daha düşük performansa neden olmamalıdır).
- C++'ın altında bir başka dil olmamalıdır (
Ziyaretçiler için Gizlenmiş Link, Görmek için, Giriş yap veya üye ol.haricinde).
- C++, kendi ayrı ve uyumsuz
Ziyaretçiler için Gizlenmiş Link, Görmek için, Giriş yap veya üye ol.teşvik etmek yerine, mevcut diğerZiyaretçiler için Gizlenmiş Link, Görmek için, Giriş yap veya üye ol.uyumlu çalışabilmelidir.
- Programcının niyeti bilinmiyorsa, programcıya manuel kontrol sağlayarak bunu belirtme imkanı verilmelidir.
Standardizasyon
Ana maddeler:
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
,
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
,
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
,
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
,
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
,
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
ve
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
Bir programlama dilini oluşturan gramer, anlam ve
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
yapıları muğlak olmayacak bir biçimde belgelenir (spec veya specification) ve yayınlanır.
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
sağlayıcıları bu belgeyi kullanarak dili gerçekleyen derleyiciyi oluşturur.C++ dilinin özelliklerini belirleyen bu belge (buradan sonrasında, standard)
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
/
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
Ortak Teknik Komitesi 1 (İng: Joint Technical Committee 1, JTC1) / Altkomite 22 (Subcommittee 22, SC22) Çalışma Grubu 21 (Working Group 21, WG21) (ISO/IEC JTC1/SC22/WG21) tarafından geliştirilir.
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
İlk standard 1998'de ISO/IEC 14882:1998 adıyla yayınlandı. Sonrasında C++03, C++11, C++14,
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
,
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
ve mevcut standard olan
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
yayınlandı. 2012 sonrası üçer senelik periyotlarla yayınlanmaya başlanmıştır.Dil
C++ dili iki temel bileşenden oluşur: C'den devraldığı yapılarla donanım özellikleriyle doğrudan eşleşme ve bu eşleşmeler üzerine kurulmuş maliyetsiz soyutlamalar (zero-overhead abstractions). Stroustrup C++'ı şu şekilde açıklamıştır: "etkili kullanım ve elegan soyutlamalar için [tasarlanmış] bir hafif soyutlama programlama dili"
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
ve "hem donanım erişimi ve hem de soyutlama desteği C++'ın temelidir. Onu diğer dillerden ayıran, bunu etkili bir biçimde yapmasıdır."
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
Nesne saklama
C++,
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
'de olduğu gibi, dört farklı
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
sahiptir: otomatik saklama süresince barındırılan nesneler, statik saklama süresince barındırılan nesneler, dinamik saklama süresince barındıran nesneler ve thread'te saklama süresince barındırılan nesneler.
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
Otomatik saklama süresince barındırılan nesneler
Bir fonksiyon veya kapsamda (scope) tanımlanan nesneler bir
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
veri yapısında tutulur. Buna göre, bir kapsama girildiğinde ({) nesnelerin tanımlanma sırasına göre yapıcı üye fonksiyon (constructor) çağrılır, kapsam terk edildiğinde (}) nesne yaşam süresinin sonuna gelinir ve tanımlanma sırasının tersi yönünde yok edici üye fonksiyon (destructor) çağrılır (RAII). En son tanımlanan en önce yok edilir (son giren ilk çıkar).Statik saklama süresince barındırılan nesneler
Statik saklama sürecine sahip nesneler kapsamdan bağımsız olarak program süresince saklanır ve main() fonksiyonu çağrılmadan oluşturulup, main() bitiminden sonra tanımlanma sırasının tersi yönünde yok edilir.Dinamik saklama süresince barındırılan nesneler
Dinamik saklama sürecine sahip nesneler new çağrısıyla oluşturulur ve delete çağrısıyla yok edilir. new çağrısı tahsis edilmiş bellek alanı döndürür.
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
, new ve delete yerine, tekil kaynak sahipliği için make_unique<T>, paylaşılmış kaynak sahipliği için make_shared<T> çağrılarıyla oluşturabilecek zeki işaretçilerin (smart pointer) kullanılmasını tavsiye eder.Thread saklama süresince barındırılan nesneler
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
saklama sürecine sahip nesneler thread_local anahtar sözcüğüyle oluşturulur ve statik saklama sürecine oldukça benzer. Temel fark, nesnelerin oluşturulması thread oluşturulmasından öncedir ve yok edilmesi thread çalışmasının bitimiyle (join) olur.Template
Template (
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
: şablon) yapısı türden bağımsız
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
parameterize değişken, fonksiyon veya sınıf yazılmasına izin verir ve jenerik programlamayı, parametrik türün oluşturulmasından önce (type instantiation) tür manipulasyonuna izin veren
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
ve kod optimizasyonunu mümkün kılar. Template mekanizması Turing-tam'dır, böylece herhangi bir hesaplamanın bir şekilde derleme zamanında programlanarak ifade edilebilmesini sağlar.
Ziyaretçiler için Gizlenmiş Link, Görmek için,
Giriş yap veya üye ol.
Template'e geçilen parametre bir tür (type) ve türün nesnesi (non-type) olabilir.