• - Alle Rubriken -
  • Bücher
  • Lernen / Pädagogik
  • eBooks / eReaders
  • Hörbücher
  • Software / Games / Hardware
  • Musik / Filme
  • Spiele
  • Kalender
  • Geschenke / Papeterie
  • Karten / Globen
  • Schweiz
  • Englisch und andere Fremdsprachen
  • Lieferbar
  • Neuheit
  • Archiv
  • - Alle Rubriken -
  • Bücher
  • Lernen / Pädagogik
  • eBooks / eReaders
  • Hörbücher
  • Software / Games / Hardware
  • Musik / Filme
  • Spiele
  • Kalender
  • Geschenke / Papeterie
  • Karten / Globen
  • Schweiz
  • Englisch und andere Fremdsprachen
  • - Alle -
  • Audio CD
  • Audio MP3
  • Blu-ray
  • CD ROM, DVD-ROM
  • DVD-Video
  • E-Book EPUB
  • E-Book PDF
  • Hardcover, gebunden
  • Taschenbuch, kartoniert
  • - Alle -
  • Aargauer Mundart
  • Abchasisch (apsua)
  • Aceh-sprache (atje-sprache)
  • Acholi-sprache
  • Adangme-sprache
  • Adygei-sprache
  • Aegyptisch
  • Afrihili
  • Afrikaans
  • Ainu
  • Akan-sprache
  • Akkadisch (assyrisch-babylonisch)
  • Albanisch
  • Alemannisch
  • Algonkin-sprachen
  • Altaethiopisch
  • Altaische Sprachen (andere)
  • Altenglisch (ca. 450-1100)
  • Altfranzoesisch (842-ca. 1400)
  • Althochdeutsch (ca. 750-1050)
  • Altirisch (bis 900)
  • Altnorwegisch
  • Altprovenzalisch (bis 1500)
  • Amharisch
  • Apachen-sprache
  • Appenzellerdeutsch
  • Arabisch
  • Aragonisches Spanisch
  • Aramaeisch
  • Arapaho-sprache
  • Arawak-sprachen
  • Armenisch
  • Aserbaidschanisch (azerbajdzanisch)
  • Assamesisch (asamiya)
  • Asturisch
  • Athapaskische Sprachen
  • Australische Sprachen
  • Austronesische Sprachen
  • Avestisch
  • Awadhi
  • Aymara-sprache
  • Bahasa Indonesia
  • Baltische Sprachen
  • Bambara-sprache
  • Bantusprachen
  • Basaa-sprache
  • Baschkirisch
  • Baseldeutsch
  • Baskisch
  • Bayrisch
  • Beach-la-mar
  • Bedauye
  • Bemba-sprache
  • Bengali
  • Berbersprachen
  • Berlinerisch
  • Berndeutsch
  • Bhojpuri (bajpuri)
  • Birmanisch
  • Blackfoot-sprache
  • Bokmal
  • Bosnisch
  • Braj-bhakha
  • Brandenburger Mundart
  • Bretonisch
  • Bugi-sprache
  • Bulgarisch
  • Caddo-sprachen
  • Cebuano
  • Chamorro-sprache
  • Cherokee-sprache
  • Chinesisch
  • Chinook-jargon
  • Chipewyan
  • Choctaw-sprache
  • Cree-sprache
  • Daenisch
  • Dakota-sprache
  • Danakil-sprache
  • Delaware-sprache
  • Deutsch
  • Dinka-sprache
  • Dogrib-sprache
  • Drawidische Sprachen
  • Dzongkha
  • Efik
  • Elamisch
  • Elsaessisch
  • Englisch
  • Ersjanisch
  • Esperanto
  • Estnisch
  • Ewe-sprache
  • Faeroeisch
  • Fanti-sprache
  • Farsi
  • Fidschi-sprache
  • Filipino
  • Finnisch
  • Finnougrische Sprachen
  • Fon-sprache
  • Fraenkisch
  • Franzoesisch
  • Friulisch
  • Ful
  • Ga
  • Gaelisch-schottisch
  • Galicisch
  • Galla-sprache
  • Ganda-sprache
  • Georgisch
  • Germanische Sprachen
  • Gilbertesisch
  • Glarner Mundart
  • Gotisch
  • Grebo
  • Griechisch (bis 1453)
  • Groenlaendisch
  • Guarani-sprache
  • Gujarati-sprache
  • Haida-sprache
  • Haitisches Creolisch
  • Hamitosemitische Sprachen
  • Haussa-sprache
  • Hawaiisch
  • Hebraeisch
  • Herero-sprache
  • Hessisch
  • Hiligaynon-sprache
  • Himachali
  • Hindi
  • Iban
  • Ibo-sprache
  • Ido
  • Ilokano-sprache
  • Indianersprachen (nordamerik.)
  • Indianersprachen (suedamerik.)
  • Indianersprachen / Zentralamerika
  • Indoarische Sprachen
  • Indogermanische Sprachen
  • Ingush-sprache
  • Interlingua (iala)
  • Interlingue
  • Inuktitut
  • Iranische Sprachen
  • Irisch
  • Irokesische Sprachen
  • Islaendisch
  • Italienisch
  • Japanisch
  • Javanisch
  • Jiddisch
  • Judenspanisch
  • Juedisch-arabisch
  • Kabardinisch
  • Kabylisch
  • Kamba
  • Kambodschanisch
  • Kannada
  • Kanuri-sprache
  • Karenisch
  • Karibische Sprachen
  • Kasachisch
  • Kaschmiri
  • Katalanisch
  • Kaukasische Sprachen
  • Kein Sprachlicher Inhalt
  • Keltische Sprachen
  • Khasi-sprache
  • Khoisan-sprachen
  • Kikuyu-sprache
  • Kirchenslawisch
  • Kirgisisch
  • Klassisches Syrisch
  • Koelsch
  • Komi-sprachen
  • Kongo
  • Konkani
  • Koptisch
  • Koreanisch
  • Kornisch
  • Korsisch
  • Kpelle-sprache
  • Kreolisch-englisch
  • Kreolisch-franzoesisch
  • Kreolisch-portugiesisch
  • Kreolische Sprachen
  • Kroatisch
  • Kru-sprachen
  • Kurdisch
  • Kurdisch (sorani)
  • Kutchin
  • Laotisch
  • Latein
  • Lesgisch
  • Lettisch
  • Lingala
  • Litauisch
  • Luba-sprache
  • Luiseno-sprache
  • Lulua-sprache
  • Luo-sprache
  • Luxemburgisch
  • Maduresisch
  • Maithili
  • Malagassisch
  • Malaiisch
  • Malayalam
  • Maledivisch
  • Malinke-sprache
  • Maltesisch
  • Manchu
  • Mandaresisch
  • Manx
  • Maori-sprache
  • Marathi
  • Marschallesisch
  • Massai-sprache
  • Maya-sprachen
  • Mazedonisch
  • Meithei-sprache
  • Miao-sprachen
  • Micmac-sprache
  • Mittelenglisch (1100-1500)
  • Mittelfranzoesisch (ca. 1400-1600)
  • Mittelhochdeutsch (ca. 1050-1500)
  • Mittelirisch (900-1200)
  • Mittelniederlaendisch (ca. 1050-1350)
  • Mohawk-sprache
  • Mon-khmer-sprachen
  • Mongolisch
  • Montenegrinisch
  • Mossi-sprache
  • Mundart
  • Muskogee-sprachen
  • Nahuatl
  • Navajo-sprache
  • Ndebele-sprache (nord)
  • Ndebele-sprache (sued)
  • Ndonga
  • Neapolitanisch
  • Nepali
  • Neugriechisch (nach 1453)
  • Neumelanesisch
  • Newari
  • Niederdeutsch
  • Niederlaendisch
  • Nigerkordofanische Sprachen
  • Nogaiisch
  • Nordfriesisch
  • Nordsaamisch
  • Norwegisch (bokmal)
  • Nubische Sprachen
  • Nyanja-sprache
  • Nyankole
  • Nyoro
  • Obersorbisch
  • Obwaldner Mundart
  • Ojibwa-sprache
  • Okzitanisch (nach 1500)
  • Oriya-sprache
  • Osmanisch
  • Ossetisch
  • Pali
  • Pandschabi-sprache
  • Papiamento
  • Papuasprachen
  • Paschtu
  • Pehlewi
  • Persisch
  • Philippinen-austronesisch
  • Phoenikisch
  • Plattdeutsch
  • Polnisch
  • Polyglott
  • Portugiesisch
  • Prakrit
  • Quechua-sprache
  • Raetoromanisch
  • Rajasthani
  • Rarotonganisch
  • Romani
  • Romanisch
  • Romanische Sprachen
  • Rumaenisch
  • Rundi-sprache
  • Russisch
  • Rwanda-sprache
  • Saamisch
  • Saarlaendisch
  • Saechsisch
  • Salish-sprache
  • Samoanisch
  • Sango-sprache
  • Sanskrit
  • Santali
  • Schaffhauser Mundart
  • Schona-sprache
  • Schottisch
  • Schwaebisch
  • Schwedisch
  • Schweizerdeutsch
  • Semitische Sprachen
  • Serbisch
  • Sidamo
  • Sindhi-sprache
  • Singhalesisch
  • Sinotibetische Sprachen
  • Sioux-sprachen
  • Slave (athapaskische Sprachen)
  • Slawische Sprachen
  • Slowakisch
  • Slowenisch
  • Solothurner Mundart
  • Somali
  • Soninke-sprache
  • Sorbisch
  • Sotho-sprache (nord)
  • Sotho-sprache (sued)
  • Spanisch
  • Sumerisch
  • Sundanesisch
  • Swahili
  • Swazi
  • Syrisch
  • Tadschikisch
  • Tagalog
  • Tahitisch
  • Tamaseq
  • Tamil
  • Tatarisch
  • Telugu-sprache
  • Temne
  • Tetum-sprache
  • Thailaendisch
  • Thaisprachen (andere)
  • Tibetisch
  • Tigre-sprache
  • Tigrinya-sprache
  • Tlingit-sprache
  • Tonga (bantusprache, Malawi)
  • Tongaisch (sprache Auf Tonga)
  • Tschagataisch
  • Tschechisch
  • Tschetschenisch
  • Tschuwaschisch
  • Tsonga-sprache
  • Tswana-sprache
  • Tuerkisch
  • Tumbuka
  • Tupi-sprache
  • Turkmenisch
  • Udmurt-sprache
  • Ugaritisch
  • Uigurisch
  • Ukrainisch
  • Unbestimmt
  • Ungarisch
  • Urdu
  • Usbekisch
  • Vai-sprache
  • Venda-sprache
  • Verschiedene Sprachen
  • Vietnamesisch
  • Volapuek
  • Volta-comoe-sprachen
  • Wakashanisch
  • Walamo-sprache
  • Walisisch
  • Walliser Mundart
  • Wallonisch
  • Weissrussisch
  • Welthilfssprache
  • Westfriesisch
  • Wienerisch
  • Wolof-sprache
  • Xhosa-sprache
  • Yao-sprache
  • Yoruba-sprache
  • Yupik-sprache
  • Zapotekisch
  • Zeichensprache
  • Zhuang
  • Zuerichdeutsch
  • Zulu
  • Relevanz
  • Autor
  • Erscheinungsjahr
  • Preis
  • Titel
  • Verlag
Zwischen und
Kriterien zurücksetzen

C++ Brain Teasers (Knatten, Anders Schau)
C++ Brain Teasers
Untertitel Exercise Your Mind
Autor Knatten, Anders Schau
Verlag Pragmatic Programmers
Sprache Englisch
Einband Kartonierter Einband (Kt)
Erscheinungsjahr 2024
Seiten 140 S.
Artikelnummer 46507913
ISBN 979-8-88865-051-6
CHF 45.90
Zusammenfassung

C++ is famous for getting all the default behaviors wrong and for sometimes making demons fly out of your nose. Through 25 puzzles, from the useful to the outright weird, we explore some of C++'s most interesting quirks. How does initialization actually work? Do temporaries even exist? Why is `+!!"" ` a valid expression in C++? As you work through each puzzle, you will peel off some of the layers of complexity of C++, getting a fundamental understanding of how the language works. This will help you write better code and recognize issues more easily while debugging.

Each puzzle in the book is a complete, seemingly simple C++ program, but can you figure out the output for each, or will the answers stump you? Most of the programs compile and have deterministic, though sometimes surprising, output. Some might, however, have undefined behavior, where anything can happen, including making demons fly out of your nose! Yet others might have unspecified behavior with output that is not completely deterministic; we just know nothing as bad as nasal demons will happen.

All puzzles are accompanied by detailed discussions, taking a look under the hood at what exactly is going on to help you understand more about C++'s unexpected behaviors, as well as fundamental concepts like initialization, overload resolution, and implicit conversions. For the non-deterministic cases, we'll explore some typical behaviors one can expect to see in practice, what causes them, and why they shouldn't be relied on.

After working through the book, you'll have tools and techniques to help you write better and safer code, and a better understanding of the fundamentals of the language, the background for some of C++'s apparent weirdness, and a better feel for identifying bugs and unsafe code in your own programs.

What You Need:

The book assumes basic knowledge of C++. If you want to run the programs yourself, you can use either a local C++ compiler or the online compilers at https://godbolt.org.

Anders Schau Knatten has been a professional programmer since 2001, using a variety of languages. He is the author of the online C++ Quiz and C++ on a Friday and has spoken about C++ at conferences like CppCon, Meeting C++, NDC TechTown, and others. Anders is on Twitter as @knatten and @CppQuiz, as well as on Mastodon as @knatten.