158660
Book
In basket
Opus Magnum C++11 : programowanie w języku C++. Tom 1 / Jerzy Grębosz. - Gliwice : Wydawnictwo Helion, copyright 2018. - XX, 607 stron : ilustracje ; 24 cm.
Proszę tego nie czytać! Zaprzyjaźnijmy się! Startujemy! Pierwszy program Drugi program Instrukcje sterujące Prawda - fałsz, czyli o warunkach Wyrażenie logiczne Zmienna logiczna bool w roli warunku Stare dobre sposoby z dawnego C++ Instrukcja warunkowa if Pętla while Pętla do...while. Pętla for Instrukcja switch Co wybrać: switch czy if...else? Instrukcja break Instrukcja goto Instrukcja continue Klamry w instrukcjach sterujących Typy Deklaracje typu Systematyka typów z języka C++ Typy fundamentalne Typy przeznaczone do pracy z liczbami całkowitymi Typy do przechowywania znaków alfanumerycznych Typy reprezentujące liczby zmiennoprzecinkowe bool - typ do reprezentacji obiektów logicznych Kwestia dokładności Jak poznać limity (ograniczenia) typów wbudowanych Typy o precyzyjnie żądanej szerokości InicjaLIZacja, czyli nadanie wartości w momencie narodzin Definiowanie obiektów "w biegu" Stałe dosłowne Stałe dosłowne typu bool Stałe będące liczbami całkowitymi Stałe reprezentujące liczby zmiennoprzecinkowe Stała dosłowna nullptr - dla wskaźników Stałe znakowe Stałe tekstowe, napisy, albo po prostu stringi Surowe stałe tekstowe (napisy, stringi) Typy złożone Typ void Zakres ważności nazwy obiektu a czas życia obiektu Zakres: lokalny Zakres instrukcji Zakres: blok funkcji Zakres: obszar pliku Zakres: obszar klasy Zakres określony przez przestrzeń nazw Zasłanianie nazw Specyfikator (przydomek) const Specyfikator (przydomek) constexpr Obiekty register Specyfikator volatile using oraz typedef - tworzenie dodatkowej nazwy typu Typy wyliczeniowe enum Dawne zwykłe enum a nowe zakresowe enum class Kilka uwag dla wtajemniczonych auto, czyli automatyczne rozpoznawanie typu definiowanego obiektu decltype - operator do określania typu zadanego wyrażenia Inicjalizacja z pustą klamrą { }, czyli wartością domniemaną Przydomek alignas - adresy równe i równiejsze Operatory Operatory arytmetyczne Operator %, czyli reszta z dzielenia (modulo) Jednoargumentowe operatory + i Operatory inkrementacji i dekrementacji Operator przypisania = Operatory logiczne Operatory relacji Operatory sumy logicznej || oraz iloczynu logicznego && Wykrzyknik !, czyli operator negacji Operatory bitowe Przesunięcie w lewo > Bitowe operatory sumy, iloczynu, negacji, różnicy symetrycznej Różnica między operatorami logicznymi a operatorami bitowymi Pozostałe operatory przypisania Operator uzyskiwania adresu (operator &) Wrażenie warunkowe Operator sizeof Operator noexcept Deklaracja static_assert Operator alignof informujący o najkorzystniejszym wyrównaniu adresu Operatory rzutowania Rzutowanie według tradycyjnych (niezalecanych) sposobów Rzutowanie za pomocą nowych operatorów rzutowania Operator static_cast Operator const_cast Operator dynamic_cast Operator reinterpret_cast Operator: przecinek Priorytety operatorów Łączność operatorów Typ string i typ vector - pierwsza wzmianka Typ std::string do pracy z tekstami Typ vector - długi rząd obiektów Zakresowe for Funkcje Definicja funkcji i jej wywołanie Deklaracja funkcji Funkcja często wywołuje inną funkcję Zwracanie przez funkcję rezultatu Obiekt tworzony za pomocą auto, a inicjalizowany rezultatem funkcji O zwracaniu (lub niezwracaniu) rezultatu przez funkcję main Nowy, alternatywny sposób deklaracji funkcji Stos Przesyłanie argumentów do funkcji przez wartość Przesyłanie argumentów przez referencję Pożyteczne określenia: lwartość i rwartość Referencje do lwartości i referencje do rwartości jako argumenty funkcji Który sposób przesyłania argumentu do funkcji wybrać? Kiedy deklaracja funkcji nie jest konieczna? Argumenty domniemane Ciekawostki na temat argumentów domniemanych Nienazwany argument Funkcje inline (w linii) Przypomnienie o zakresie ważności nazw deklarowanych wewnątrz funkcji Wybór zakresu ważności nazwy i czasu życia obiektu Obiekty globalne Obiekty automatyczne Obiekty lokalne statyczne Funkcje w programie składającym się z kilku plików Nazwy statyczne globalne Funkcja zwracająca rezultat będący referencją lwartości Funkcje rekurencyjne Funkcje biblioteczne Funkcje constexpr Wymogi, które musi spełniać funkcja constexpr (w standardzie C++11) Przykład pokazujący aspekty funkcji constexpr Argumenty funkcji constexpr, będące referencjami Definiowanie referencji przy użyciu słowa auto Gdy inicjalizatorem jest wywołanie funkcji zwracającej referencję Preprocesor Dyrektywa pusta # Dyrektywa #define Dyrektywa #undef Makrodefinicje Sklejacz nazw argumentów, czyli operator ## Parametr aktualny makrodefinicji - w postaci tekstu Dyrektywy kompilacji warunkowej Dyrektywa #error Dyrektywa #line Wstawianie treści innych plików do tekstu kompilowanego właśnie pliku Dyrektywy zależne od implementacji Nazwy predefiniowane Tablice Co to jest tablica Elementy tablicy Inicjalizacja tablic Przekazywanie tablicy do funkcji Przykład z tablicą elementów typu enum Tablice znakowe Tablice wielowymiarowe Tablica tablic Przykład programu pracującego z tablicą dwuwymiarową Gdzie w pamięci jest dany element tablicy Typ wyrażeń związanych z tablicą wielowymiarową Przesyłanie tablic wielowymiarowych do funkcji Wektory wielowymiarowe Najpierw przypomnienie istotnych tu cech klasy vector Jak za pomocą klasy vector budować tablice wielowymiarowe Funkcja pokazująca zawartość wektora dwuwymiarowego Definicja dwuwymiarowego wektora - pustego Definicja wektora dwuwymiarowego z listą inicjalizatorów Wektor dwuwymiarowy o żądanych rozmiarach, choć bez inicjalizacji Zmiana rozmiarów wektora dwuwymiarowego funkcją resize Zmiany rozmiaru wektora 2D funkcjami push_back, pop_back Zmniejszanie rozmiaru wektora dwuwymiarowego funkcją pop_back Funkcje mogące modyfikować treść wektora 2D Wysłanie rzędu wektora 2D do funkcji pracującej z wektorem 1D Całość przykładu definiującego wektory dwuwymiarowe Po co są dwuwymiarowe wektory nieprostokątne Wektory trójwymiarowe Sposoby definicji wektora 3D o ustalonych rozmiarach Nadawanie pustemu wektorowi 3D wymaganych rozmiarów Zmiana rozmiarów wektora 3D funkcjami resize Zmiana rozmiarów wektora 3D funkcjami push_back Trójwymiarowe wektory 3D - nieprostopadłościenne Wskaźniki - wiadomości wstępne Wskaźniki mogą bardzo ułatwić życie Definiowanie wskaźników Praca ze wskaźnikiem Definiowanie wskaźnika z użyciem auto Wyrażenie *wskaźnik jest lwartością Operator rzutowania reinterpret_cast a wskaźniki Wskaźniki typu void* Strzał na oślep - wskaźnik zawsze na coś wskazuje Wskaźnik wolno porównać z adresem zero - nullptr Cztery domeny zastosowania wskaźników Zastosowanie wskaźników wobec tablic Ćwiczenia z mechaniki ruchu wskaźnika Użycie wskaźnika w pracy z tablicą Arytmetyka wskaźników Porównywanie wskaźników Zastosowanie wskaźników w argumentach funkcji Jeszcze raz o przesyłaniu tablic do funkcji Odbieranie tablicy jako wskaźnik Argument formalny będący wskaźnikiem do obiektu const Zastosowanie wskaźników przy dostępie do konkretnych komórek pamięci Rezerwacja obszarów pamięci Operatory new i delete albo Oratorium Stworzenie Świata Operator new a słowo kluczowe auto Inicjalizacja obiektu tworzonego operatorem new Operatorem new możemy także tworzyć obiekty stałe Dynamiczna alokacja tablicy Tablice wielowymiarowe tworzone operatorem new Umiejscawiający operator new "Przychodzimy, odchodzimy - cichuteńko, na..." Zapas pamięci to nie studnia bez dna Nowy sposób powiadomienia: rzucenie wyjątku std::bad_alloc Funkcja set_new_handler Wskaźniki - runda trzecia Stałe wskaźniki Stałe wskaźniki a wskaźniki do stałych Wierzch i głębia Definiowanie wskaźnika z użyciem auto Symbol zastępczy auto a opuszczanie gwiazdki przy definiowaniu wskaźnika Sposoby ustawiania wskaźników Parada kłamców, czyli o rzutowaniu const_cast Tablice wskaźników Wariacje na temat C-stringów Argumenty z linii wywołania programu Wskaźniki do funkcji Wskaźnik, który może wskazywać na funkcję Ćwiczenia z definiowania wskaźników do funkcji Wskaźnik do funkcji jako argument innej funkcji Tablica wskaźników do funkcji Użycie deklaracji using i typedef w świecie wskaźników Alias przydatny w argumencie funkcji Alias przydatny w definicji tablicy wskaźników do funkcji Użycie auto lub decltype do automatycznego rozpoznania potrzebnego typu Przeładowanie nazwy funkcji Co oznacza przeładowanie Przeładowanie od kuchni Jak możemy przeładowywać, a jak się nie da? Czy przeładowanie nazw funkcji jest techniką orientowaną obiektowo? Linkowanie z modułami z innych języków Przeładowanie a zakres ważności deklaracji funkcji Rozważania o identyczności lub odmienności typów argumentów Przeładowanie a typy tworzone z using lub typedef oraz typy enum Tablica a wskaźnik Pewne szczegóły o tablicach wielowymiarowych Przeładowanie a referencja Identyczność typów: T, const T, volatile T Przeładowanie a typy: T*, volatile T*, const T* Przeładowanie a typy: T&, volatile T&, const T& Adres funkcji przeładowanej Zwrot rezultatu będącego adresem funkcji przeładowanej Kulisy dopasowywania argumentów do funkcji przeładowanych Etapy dopasowania Etap 1. Dopasowanie dokładne Etap 1a. Dopasowanie dokładne, ale z tzw. trywialną konwersją Etap 2. Dopasowanie z awansem (z promocją) Etap 3. Próba dopasowania za pomocą konwersji standardowych Etap 4. Dopasowanie z użyciem konwersji zdefiniowanych przez użytkownika Etap 5. Dopasowanie do funkcji z wielokropkiem Wskaźników nie dopasowuje się inaczej niż dosłownie Dopasowywanie wywołań z kilkoma argumentami Klasy Typy definiowane przez użytkownika Składniki klasy Składnik będący obiektem Kapsułowanie Ukrywanie informacji Klasa a obiekt Wartości wstępne w składnikach nowych obiektów. Inicjalizacja "w klasie" Funkcje składowe Posługiwanie się funkcjami składowymi Definiowanie funkcji składowych Jak to właściwie jest? (this) Odwołanie się do publicznych danych składowych obiektu Zasłanianie nazw Nie sięgaj z klasy do obiektów globalnych Przeładowanie i zasłonięcie równocześnie Nowa klasa? Osobny plik! Poznajmy praktyczną realizację wieloplikowego programu Zasada umieszczania dyrektywy using namespace w plikach Przesyłanie do funkcji argumentów będących obiektami Przesyłanie obiektu przez wartość Przesyłanie przez referencję Konstruktor - pierwsza wzmianka Destruktor - pierwsza wzmianka Składnik statyczny Do czego może się przydać składnik statyczny w klasie? Statyczna funkcja składowa Deklaracja składnika statycznego mająca inicjalizację "w klasie" Funkcje składowe typu const oraz volatile Przeładowanie a funkcje składowe const i volatile Struktura Klasa będąca agregatem. Klasa bez konstruktora Funkcje składowe z przydomkiem constexpr Specyfikator mutable Bardziej rozbudowany przykład zastosowania klasy
Sygnatura czytelni BWEAiI: XII Ł 89,1
Media files:
Availability:
Wypożyczalnia
There are copies available to loan: sygn. 145259 N, 145255 N, 145257 N, 145256 N (4 egz.)
Biblioteka WEAiI
Copies are only available in the library: sygn. 145170 N (1 egz.)
Notes:
General note
Na okładce: Łatwy podręcznik.
The item has been added to the basket. If you don't know what the basket is for, click here for details.
Do not show it again

Deklaracja dostępności