Программисты с опытом работы на других языках высокого уровня смогут на практике освоить современный С++ и «большую четверку» его новых возможностей: диапазоны, концепты, модули и корутины.
200+ практических примеров реального исходного кода позволят быстро овладеть идиомами современного С++, используя популярные компиляторы: Visual C++®, GNU® g++, Apple® Xcode® и LLVM®/Clang. Знание базы позволит перейти к контейнерам стандартной библиотеки С++ array и vector; функциональному программированию с диапазонами и представлениями C++20; строкам, файлам и регулярным выражениям; объектно-ориентированному программированию с классами, наследованием, динамическим и статическим полиморфизмом; перегрузке операторов, семантике копирования и перемещения, RAII и умным указателям; исключениям и ожидаемым в С++23 контрактам; контейнерам, итераторам и алгоритмам стандартной библиотеки; шаблонам, концептам С++20 и метапрограммированию; модулям С++ 20 и технологии разработки больших программ; конкурентности, параллелизму, параллельным алгоритмам стандартной библиотеки С++17 и С++20 и корутинам С++20.
200+ практических примеров реального исходного кода позволят быстро овладеть идиомами современного С++, используя популярные компиляторы: Visual C++®, GNU® g++, Apple® Xcode® и LLVM®/Clang. Знание базы позволит перейти к контейнерам стандартной библиотеки С++ array и vector; функциональному программированию с диапазонами и представлениями C++20; строкам, файлам и регулярным выражениям; объектно-ориентированному программированию с классами, наследованием, динамическим и статическим полиморфизмом; перегрузке операторов, семантике копирования и перемещения, RAII и умным указателям; исключениям и ожидаемым в С++23 контрактам; контейнерам, итераторам и алгоритмам стандартной библиотеки; шаблонам, концептам С++20 и метапрограммированию; модулям С++ 20 и технологии разработки больших программ; конкурентности, параллелизму, параллельным алгоритмам стандартной библиотеки С++17 и С++20 и корутинам С++20.
Жас шектеулері: 16+
Құқық иегері: Питер
Түпнұсқа жарияланған күн: 2024
Баспа: ООО "Прогресс книга"
Аудармашылар: ВасилийЗдобнов, МихаилСергеевичФатеев
Қағаз беттер: 1390
Пікірлер2
Дәйексөздер48
Вы можете бесплатно загрузить их по любому из адресов4:
• https://github.com/pdeitel/cplusplus20forprogrammers
• https://www.deitel.com/books/c-plus-plus-20-for-programmers
• https://github.com/pdeitel/cplusplus20forprogrammers
• https://www.deitel.com/books/c-plus-plus-20-for-programmers
2 // Рекурсивная функция factorial
3 #include
4 #include
5 using namespace std;
6
7 long factorial(int number); // Прототип функции
8
9 int main() {
10 // Вычисляем факториалы чисел от 0 до 10
11 for (int counter{0}; counter <= 10; ++counter) {
12 cout << setw(2) << counter << "! = " << factorial(counter)
13 << '\n';
14 }
15 }
16
17 // Рекурсивное определение функции factorial
18 long factorial(int number) {
19 if (number <= 1) { // Проверяем базовую задачу
20 return 1; // 0! = 1 и 1! = 1
21 }
22 else { // Делаем шаг рекурсии
23 return number * factorial(number - 1);
24 }
25
3 #include
4 #include
5 using namespace std;
6
7 long factorial(int number); // Прототип функции
8
9 int main() {
10 // Вычисляем факториалы чисел от 0 до 10
11 for (int counter{0}; counter <= 10; ++counter) {
12 cout << setw(2) << counter << "! = " << factorial(counter)
13 << '\n';
14 }
15 }
16
17 // Рекурсивное определение функции factorial
18 long factorial(int number) {
19 if (number <= 1) { // Проверяем базовую задачу
20 return 1; // 0! = 1 и 1! = 1
21 }
22 else { // Делаем шаг рекурсии
23 return number * factorial(number - 1);
24 }
25
45 // Выводим сообщение о выигрыше или проигрыше
46 if (Status::won == gameStatus) {
47 cout << "Player wins\n";
48 }
49 else {
50 cout << "Player loses\n";
51 }
52 }
53
46 if (Status::won == gameStatus) {
47 cout << "Player wins\n";
48 }
49 else {
50 cout << "Player loses\n";
51 }
52 }
53
Сөреде9
1 829 кітап
808
277 кітап
760
100 кітап
39
102 кітап
12
75 кітап
8
