C + + žyma aprašymas

C ++ yra bendrosios paskirties programavimo kalba. Iš pradžių jis buvo sukurtas kaip C plėtinys ir išlaiko panašią sintaksę, bet dabar tai visiškai kita kalba. Naudokite šią žymą klausimams apie kodą, kuris turėtų būti sudarytas naudojant „C ++“ kompiliatorių. Naudokite versijos žymą klausimams, susijusiems su konkrečia standartine [C ++ 11], [C ++ 17] ir kt. Versija.

Kas yra C + +?

„C ++“ yra statiškai įvestas , universalus (paprastai) sukomponuotas, daugiaprofilinis, universalus vidutinio lygio programavimo kalba; negali būti painiojama su C arba C ++ / CLI . Jis buvo sukurtas 1980-ųjų pradžioje Bjarn Straustrup , iš pradžių kaip C programavimo kalbos plėtinių rinkinys. Remiantis C, C + + pagerintu tipo saugumu ir, be kitų funkcijų, pridėta automatinio išteklių valdymo, objekto orientavimo, bendro programavimo ir išimties tvarkymo.


Naujas „C ++“?

Jei esate nauji programavimo ar atvykę į C ++ iš kitos programavimo kalbos, labai rekomenduojama turėti gerą knygą, kad galėtumėte išmokti kalbą. Mes tvarkome išsamų knygų sąrašą .

Jei ieškote gerų kompiliatorių, GCC yra dažniausiai naudojamas kompiliatorius Linux ir kitose Unix tipo platformose; C> yra oficialus „Mac“ ir „FreeBSD“ kompiliatorius; „Microsoft Visual C ++“ dažniausiai naudojamas „Windows“ sistemoje. „Intel“ kompiliatorius taip pat plačiai naudojamas optimizuotiems skaitiniams skaičiavimams Windows, Linux ir Mac sistemose.

Nuo 1991 m. „Turbo-C ++ 3.0“ yra labai pasenusi ir tikrai nerekomenduojama. Žiūrėkite ankstesnę pastraipą dėl laisvo pasirinkimo iš šio tūkstantmečio.

Prisijunkite prie mūsų pokalbių kambaryje, kuriame aptariame „C ++“, programavimą apskritai ir netgi kitus dalykus, kai saulė renkasi ir nuobodu. Nepamirškite humoro jausmo, bet laikykite jį civilizuotu.


Žymėjimas

Skelbdami klausimus apie C ++ programavimą, būtinai įtraukite:

  • Informacija apie tikslinę sistemą ir kompiliatorių. Tai apima kompiliatoriaus pavadinimą, versiją ir nustatymus, naudojamus kompiliavimui.
  • Jei jūsų klausimas yra susijęs su viena konkrečia kalba, pridėkite arba . Klausimai apie reklamą turėtų būti pridedami prie žymos. Išsamesnė informacija apie skirtingas versijas pateikiama žemiau šiame wiki.
  • Jei klausimas aiškiai nenurodo, kokia C ++ standarto versija naudojama, daroma prielaida, kad naudojama dabartinė versija. Tai yra, priklausomai nuo ISO 14882 versijos, kuri šiuo metu nurodyta kaip aktyvi. Atminkite, kad atsakydami arba komentuodami klausimus, pažymėtus „ .

Naudojant ir kartu

C ir C ++ yra dvi skirtingos ir dažnai nesuderinamos kalbos. Pabandykite nenaudoti abiejų žymių tame pačiame klausime, nebent turite gerų priežasčių.

Klausimas turėtų būti pažymėtas tik jei:

  • Jame yra gryno C, be C ++ pėdsakų, arba klausimų su kodu, kuris gali būti bet kokia kalba.
  • Kodas sukompiliuotas naudojant „C“ kompiliatorių.

Klausimas turėtų būti pažymėtas tik jei:

  • Jame yra kodas su bet kuriomis C ++ funkcijomis. Net jei kodas galėtų būti „stilius C“.
  • Kodas yra sudarytas naudojant „C ++“ kompiliatorių.

Klausimas turėtų būti pažymėtas su ir , jei jis susijęs su:

  • Konkretūs skirtumai tarp C ir C ++.
  • Suderinamumas arba kodų perdavimas tarp C ir C ++.
  • C + + kodas, kuriame naudojamos C bibliotekos (pvz., Kodas, kuris naudoja extern "C" ).

ir pažymėtų pranešimų redagavimo ir moderavimo taisyklės:

Jei norite redaguoti / iš naujo pažymėti / koreguoti abu žymes, rekomenduojama turėti visas redagavimo teises, taip pat piktogramą su auksiniu ar auksiniu .

Jei susiduriate su pranešimu su abiem žymėmis, jei reikia, redaguokite / iš naujo pažymėkite jį pagal pirmiau nurodytas taisykles. Jei galite pasakyti kalbą skaitydami paskelbtą kodą, tiesiog redaguokite žymes. Venkite paskatinti vartotoją „tai C ar C + +?“ komentaruose, jei klausimas tikrai neaiškus.

Vienas neaiškaus klausimo pavyzdys yra tas, kai vartotojas aiškiai nurodo, kad jis programuoja C, bet skelbia pranešimus iš kodo ar pranešimų iš kompiliatoriaus C ++. Jei taip, paprašykite paaiškinimo ir uždaryti balsavimą kaip neaiškų.

"C arba C ++ yra gerai," OP nuomonės yra aiškus blogo ar neaiškaus klausimo požymis. Atsakymai gali būti labai skirtingi, priklausomai nuo pasirinktos kalbos. Prašymas paaiškinti, uždaryti, kaip neaiškus / per platus, kol FI paaiškins.

Būkite atsargūs, kai vėl įkeliate klausimus, kai atsakymai yra paskelbti, ypač jei jau turite atsakymų į C ir C ++. Tokiais atvejais žymos turėtų būti paliktos atskirai, nes jų keitimas panaikins paskelbtus atsakymus.

Atsakymai su C + + kodu į C klausimą, kurie niekada nebuvo pažymėti turėtų būti ištrinti kaip nesusiję su tema. Prieš pažymėdami / ištrindami tokius atsakymus, patikrinkite klausimo redagavimo istoriją, kad įsitikintumėte, jog klausimas niekada neturėjo C ++ žyma.


C ++ 11

Kalbos standartas ilgą laiką beveik nepasikeitė, tačiau 2011 m. Naujasis C ++ 11 standartas (anksčiau žinomas kaip C ++ 0x) buvo paskelbtas ISO / IEC 14882: 2011 . Vietoj didelio sprogimo metodo jis palaipsniui diegiamas, nes kompiliatoriai palaiko naujas kalbų funkcijas. Žr. Bjarne Stroustrup C ++ 11 DUK, kad sužinotumėte, kas nauja kalba, ir peržiūrėkite savo kompiliatoriaus DUK, kad sužinotumėte, kuri iš šių funkcijų šiuo metu yra palaikoma:

Keli iš C ++ 11 aptartų funkcijų buvo perkelti į kitą iteraciją.


C ++ 14

C ++ 14 yra nedidelis papildymas C ++ 11. Jis buvo patvirtintas 2014 m. Rugpjūčio mėn. Ir paskelbtas tų pačių metų gruodžio mėn. Anksčiau minėta kaip C ++ 1y, nes patvirtinimo metai buvo neapibrėžti. Daugelis populiarių kompiliatorių jau turi tam tikrą paramą C ++ 14.


C ++ 17

C ++ 17 prideda dar keletą pagrindinių funkcijų (ir kai kurių mažesnių). Paprastai jis vadinamas C + + 1z arba C ++ 17, nes techninis darbas su naujuoju standartu baigtas 2017 m. Kovo mėn. Standarto projektą (vienbalsiai) patvirtino ISO 2017 m. Rugsėjo mėn. Ir oficialiai paskelbė 2017 m. Gruodžio mėn.


C ++ 20

Pradėtas darbas dėl standarto C + + 2a arba C ++ 20 pakeitimų su numatoma išleidimo iki 2020 m.

C ++ 20 projekte jau patvirtintos šios (ir daugiau) naujos funkcijos:

  • trijų lygių palyginimas naudojant naują operatorių <=>
  • priskirti iniciatoriai (pagal C99 funkciją su tam tikrais apribojimais)
  • modelio parametrų sąrašai lambda išraiškose
  • papildomas kintamasis su ciklo diapazonu
  • Paketiniai plėtiniai lambda init-capture

Šiuo metu svarstomos kelios naujos funkcijos, įskaitant:


Interneto kompiliatoriai

Jei norite išbandyti „C ++“, galite išbandyti vieną iš šių interneto rinkimo paslaugų:



C + + DUK kamino perpildymas


Išoriniai dažnai užduodami klausimai


Kiti išoriniai ištekliai


Pokalbiai