C ++ ümumi məqsədi proqramlaşdırma dili. Bu, ilk növbədə, C üçün bir uzantı kimi hazırlanmış və oxşar sintaksis saxlayırdı, lakin indi tamamilə fərqli bir dildir. C ++ tərtibatçısı tərəfindən tərtib edilməli olan kodla bağlı suallar üçün bu etiketi istifadə edin. [C ++ 11], [C + + 17], və s. Müəyyən bir standart versiyasına aid suallar üçün versiya etikatından istifadə edin.

C ++ nədir?

C ++ statik tipli , universal (adətən) tərtib edilmiş, çox paradiqma, universal orta səviyyəli proqramlaşdırma dili; C və ya C ++ / CLI ilə qarışdırılmamalıdır. 1980-ci illərin əvvəllərində Bjarn Straustrup tərəfindən hazırlanmış , ilk olaraq C proqramlaşdırma dilinə genişlənmə dəsti kimi hazırlanmışdır. C, C ++ təkmilləşdirilmiş tipli təhlükəsizlik və digər funksiyalar arasında, avtomatik mənbə idarəçiliyi, obyekt yönümüylə, ümumi proqramlaşdırma və istisna işləmələrinə əlavə olaraq əlavə olunur.


C ++ üçün yeni?

Proqramlaşdırma üçün yeni və ya başqa bir proqramlaşdırma dilindən C ++ -a gəlsəniz, dil öyrənmək üçün yaxşı bir kitabın olması tövsiyə olunur. Biz ətraflı bir kitab siyahısını saxlayırıq.

Yaxşı kompilyatorlar axtarırsınızsa, GCC Linux və digər Unix benzeri platformalarda ən çox istifadə edilən kompilyatordur; C> Mac və FreeBSD üçün rəsmi kompilyatordur; Microsoft Visual C ++ ən çox Windows-da istifadə olunur. Intel kompilyatoru da Windows, Linux və Mac-də optimallaşdırılmış ədədi hesablamalar üçün geniş istifadə olunur.

1991-ci ildən bu yana Turbo-C ++ 3.0 çox köhnəlmişdir və mütləq tövsiyə edilmir. Bu minilliyin azad seçimi üçün əvvəlki bəndə baxın.

Bizə C ++, ümumiyyətlə proqramlaşdırma və hətta günəş qurduqda və sıkıldıqda başqaları ilə söhbət edərkən söhbət otağına qoşulun . Yumor hissiinizi unutma, lakin onu sivilizasiya edin.


Etiketleme

C ++ proqramlaşdırma ilə bağlı sualları dərc edərkən, əmin olun:

  • Hədəf sistemi və kompilyator haqqında məlumat. Bu tərtib etmək üçün istifadə olunan kompilyator adı, versiyası və parametrləri daxildir.
  • Sualınız bir müəyyən dil versiyasına aiddirsə, və ya . Təqdimat haqqında suallar bir etiketi əlavə etməlidir. Müxtəlif versiyalar haqqında məlumatlar bu wikidə aşağıda verilmişdir.
  • Sual, C ++ standartının hansı versiyasından istifadə etdiyini aydın şəkildə göstərmirsə, mövcud versiyanın istifadə olunduğu ehtimal edilir. Yəni, aktiv olaraq siyahıda olan ISO 14882 versiyasına görə. qeyd olunan suallara cavab verərkən və ya şərh edərkən bunu nəzərə alın.

birlikdə istifadə

C və C ++ iki fərqli və tez-tez uyğun olmayan dillərdir. Yaxşı səbəblər olmadıqca, həmin sualları hər iki etiketdən də istifadə etməyin.

Bir sual yalnız qeyd olunmalıdır, əgər:

  • C ++ və ya hər hansı bir dil ola bilən kodu olan suallara baxmayaraq təmiz C ehtiva edir.
  • Kod C kompilyatoru ilə tərtib edilir.

Bir sual yalnız qeyd edilməlidir, əgər:

  • Hər hansı bir C ++ funksiyası olan kodu ehtiva edir. Kod kodu "C" ola bilər.
  • Kod, C ++ tərtibatçısı tərəfindən tərtib edilir.

Sual həm , həm də ilə qeyd edilməlidir.

  • C və C ++ arasındakı xüsusi fərqlər.
  • C və C ++ arasında uyğunluq və ya kod ötürülməsi.
  • C kitabxanalarını istifadə edən C ++ kodu (məsələn, extern "C" istifadə edən kod).

etiketlənən mesajların redaktə edilməsi və moderator qaydaları:

Hər iki etiket ilə düzəltmək / yenidən qeyd / düzəltmək üçün sualları düzəltmək üçün tam redaktə hüquqlarınızın olduğu kimi qızıl və ya qızıl simvolunuz olduğu məsləhət görülür.

Hər iki etiket ilə bir mesajla qarşılaşırsanız, yuxarıda göstərilən qaydalara uyğun olaraq, zəruri hallarda onu redaktə edin / yenidən qeyd edin. Yayınlanmış kodu oxuduğunuz bir dili söyləyə bilsəniz, yazıları düzəldin. Istifadəçi "C və ya C ++" sualını çəkinməyin? əgər sual həqiqətən aydın deyilsə şərhlərdə.

Anlaşıqlı bir sualın nümunəsi bir istifadəçi açıq şəkildə C-də proqramlaşdırma etdiyini bildirir, lakin C ++ üçün derivatın kodu və ya mesajlarından mesajlar dərc edir. Əgər belədirsə, dəqiqləşdirməyi xahiş et və açıq bir səs verməməsi aydın deyil.

"Ya C və ya C ++ yaxşıdır", OP fikirləri pis və ya qeyri-müəyyən bir sualın aydın göstəricisidir. Cavablar seçilən dildən asılı olaraq çox fərqli ola bilər. FI bunu aydınlaşdırana qədər aydınlıq gətirməyi tələb etməli, qeyri-müəyyən / çox geniş qala bilər.

Cavab yazıldıqdan sonra sualları təkrar etiketlədikdə diqqətli olun, xüsusilə C və C ++-da cavablarınız varsa. Belə hallarda etiketlər tək qoyulmalıdır, çünki onların dəyişdirilməsi dərc edilmiş cavabları ləğv edəcəkdir.

C ++ ilə qeyd edilməyən sual C ++ kodu ilə cavablar mövzuyla əlaqəli olmadığı kimi silinməlidir. Sorunun C ++ etiketi olmadığı üçün bu cür cavabları silinmədən / silinmədən sual soruşma tarixini yoxlayın.


C ++ 11

Dil standartı uzun müddət dəyişməz qalmışdır, lakin 2011-ci ildə ISO / IEC 14882: 2011- də yeni C ++ 11 standartı (əvvəllər C ++ 0x kimi tanınmışdır) çap edilmişdir. Böyük bang yanaşmasının əvəzinə tədricən kompilyatorlar yeni dil xüsusiyyətlərini dəstəkləyən kimi tətbiq olunur. Dilində yeni olanları öyrənmək üçün Bjarne Stroustrup C ++ 11 FAQ- a baxın və bu funksiyaların hansılarını dəstəklədiyini öyrənmək üçün kompilyatorunuzun suallarına baxın:

C ++ 11 üçün müzakirə edilən funksiyalardan bir neçəsi növbəti iteraya köçürülmüşdür.


C ++ 14

C ++ 14 C ++ 11-yə kiçik bir əlavədir. 2014-cü ilin avqust ayında təsdiqlənmiş və eyni ilin dekabrında buraxılmışdır. Daha əvvəl C ++ 1y olaraq adlandırılan, təsdiq ilindən bəri tanımlanmamışdır. Bir çox məşhur kompilyator artıq C ++ 14 dəstək səviyyəsinə malikdir.


C ++ 17

C ++ 17 bir neçə əsas funksiyaları əlavə edir (və bəzi kiçik olanları). Yeni standart üzrə texniki işlər 2017-ci ilin martında başa çatdıqdan sonra adətən C ++ 1z və ya C ++ 17 adlanır. Standartın layihəsi 2017-ci ilin sentyabrında ISO tərəfindən təsdiq edilmiş və yekdilliklə 2017-ci ilin dekabrında nəşr edilmişdir.


C ++ 20

C ++ 2a və ya C ++ 20 standartlarına dəyişikliklərə dair standartın 2020-ci ilədək buraxılmasının gözlənilən versiyası ilə işə başlanmışdır.

C ++ 20 layihəsində aşağıdakı (və daha çox) yeni funksiyalar qəbul olunmuşdur:

  • yeni operatoru <=> istifadə edərək üç yol müqayisə
  • təyin olunmuş başlanğıclar (bəzi məhdudiyyətlər ilə C99 funksiyası əsasında)
  • lambda ifadələrində nümunə parametr siyahıları
  • sıra for dövrü olan əlavə dəyişən
  • Lambda init-capture-də paket uzantıları

Hazırda bir sıra yeni xüsusiyyətlər nəzərdən keçirilir:


İnternet kompilyatorları

C ++ 'yı cəhd etmək istəyirsinizsə, aşağıdakı onlayn tərtib xidmətlərdən birini cəhd edə bilərsiniz:



C ++ FAQ yığını daşması


Xarici Tez-tez verilən suallar


Digər xarici resurslar


Sohbetler