Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Переименование группы файлов (157 штук)
- Loading branch information
1 parent
b630332
commit 528c7a3
Showing
157 changed files
with
3,498 additions
and
3,498 deletions.
There are no files selected for viewing
24 changes: 12 additions & 12 deletions
24
chapters/chapter_00/00-00_helloworld.cpp → chapters/chapter_00/00-000_helloworld.cpp
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,12 +1,12 @@ | ||
// исходный текст программы сохранен в кодировке UTF-8 без BOM | ||
|
||
// helloworld.cpp | ||
// первая программа на языке C++ | ||
|
||
#include <iostream> | ||
|
||
int main() | ||
{ | ||
std::cout << "Привет, мир!\n"; | ||
return 0; | ||
} | ||
// исходный текст программы сохранен в кодировке UTF-8 без BOM | ||
|
||
// helloworld.cpp | ||
// первая программа на языке C++ | ||
|
||
#include <iostream> | ||
|
||
int main() | ||
{ | ||
std::cout << "Привет, мир!\n"; | ||
return 0; | ||
} |
42 changes: 21 additions & 21 deletions
42
...ters/chapter_00/00-01_helloworld-wait.cpp → ...ers/chapter_00/00-001_helloworld-wait.cpp
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,21 +1,21 @@ | ||
// исходный текст программы сохранен в кодировке UTF-8 без BOM | ||
|
||
// helloworld-wait.cpp | ||
// добавление ожидания в конец программы на языке C++ | ||
// (понадобится два нажатия на клавишу «Enter») | ||
|
||
#include <iostream> | ||
#include <limits> | ||
|
||
int main() | ||
{ | ||
std::cout << "Привет, мир!\n"; | ||
|
||
std::cin.clear(); // сбросить все флаги ошибок; | ||
// игнорировать любые символы во входном буфере | ||
// до появления символа новой строки | ||
std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n'); | ||
std::cin.get(); // получить еще один символ от пользователя | ||
// (ждет нажатия клавиши «Enter») | ||
return 0; | ||
} | ||
// исходный текст программы сохранен в кодировке UTF-8 без BOM | ||
|
||
// helloworld-wait.cpp | ||
// добавление ожидания в конец программы на языке C++ | ||
// (понадобится два нажатия на клавишу «Enter») | ||
|
||
#include <iostream> | ||
#include <limits> | ||
|
||
int main() | ||
{ | ||
std::cout << "Привет, мир!\n"; | ||
|
||
std::cin.clear(); // сбросить все флаги ошибок; | ||
// игнорировать любые символы во входном буфере | ||
// до появления символа новой строки | ||
std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n'); | ||
std::cin.get(); // получить еще один символ от пользователя | ||
// (ждет нажатия клавиши «Enter») | ||
return 0; | ||
} |
66 changes: 33 additions & 33 deletions
66
chapters/chapter_00/00-02_cpp17compat.cpp → chapters/chapter_00/00-002_cpp17compat.cpp
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,33 +1,33 @@ | ||
// исходный текст программы сохранен в кодировке UTF-8 без BOM | ||
|
||
// cpp17compat.cpp | ||
// программа для проверки компилятора на совместимость с C++17 | ||
|
||
#include <array> | ||
#include <iostream> | ||
#include <string_view> | ||
#include <tuple> | ||
#include <type_traits> | ||
|
||
namespace a::b::c | ||
{ | ||
inline constexpr std::string_view str{ "привет" }; | ||
} | ||
|
||
template <class... T> | ||
std::tuple<std::size_t, std::common_type_t<T...>> sum(T... args) | ||
{ | ||
return { sizeof...(T), (args + ...) }; | ||
} | ||
|
||
int main() | ||
{ | ||
auto [iNumbers, iSum]{ sum(1, 2, 3) }; | ||
std::cout << a::b::c::str << ' ' << iNumbers << ' ' << iSum << '\n'; | ||
|
||
std::array arr{ 1, 2, 3 }; | ||
|
||
std::cout << std::size(arr) << '\n'; | ||
|
||
return 0; | ||
} | ||
// исходный текст программы сохранен в кодировке UTF-8 без BOM | ||
|
||
// cpp17compat.cpp | ||
// программа для проверки компилятора на совместимость с C++17 | ||
|
||
#include <array> | ||
#include <iostream> | ||
#include <string_view> | ||
#include <tuple> | ||
#include <type_traits> | ||
|
||
namespace a::b::c | ||
{ | ||
inline constexpr std::string_view str{ "привет" }; | ||
} | ||
|
||
template <class... T> | ||
std::tuple<std::size_t, std::common_type_t<T...>> sum(T... args) | ||
{ | ||
return { sizeof...(T), (args + ...) }; | ||
} | ||
|
||
int main() | ||
{ | ||
auto [iNumbers, iSum]{ sum(1, 2, 3) }; | ||
std::cout << a::b::c::str << ' ' << iNumbers << ' ' << iSum << '\n'; | ||
|
||
std::array arr{ 1, 2, 3 }; | ||
|
||
std::cout << std::size(arr) << '\n'; | ||
|
||
return 0; | ||
} |
80 changes: 40 additions & 40 deletions
80
chapters/chapter_00/00-03_cpp20compat.cpp → chapters/chapter_00/00-003_cpp20compat.cpp
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,40 +1,40 @@ | ||
// исходный текст программы сохранен в кодировке UTF-8 без BOM | ||
|
||
// cpp20compat.cpp | ||
// программа для проверки компилятора на совместимость с C++20 | ||
|
||
#include <array> | ||
#include <iostream> | ||
#include <span> | ||
|
||
struct Foo | ||
{ | ||
int a{ }; | ||
int b{ }; | ||
int c{ }; | ||
}; | ||
|
||
consteval int sum(std::span<const int> a) // std::span и consteval | ||
{ | ||
int s{ 0 }; | ||
for (auto n : a) | ||
s += n; | ||
return s; | ||
} | ||
|
||
auto sum(auto x, auto y) -> decltype(x + y) // сокращённые шаблоны функций | ||
{ | ||
return x + y; | ||
} | ||
|
||
int main() | ||
{ | ||
constexpr std::array a{ 3, 2, 1 }; | ||
constexpr int s{ sum(a) }; | ||
std::cout << s << '\n'; | ||
|
||
Foo f1{ .a = 1, .c = 3 }; // назначенные инициализаторы | ||
std::cout << sum(f1.a, f1.c) << '\n'; | ||
|
||
return 0; | ||
} | ||
// исходный текст программы сохранен в кодировке UTF-8 без BOM | ||
|
||
// cpp20compat.cpp | ||
// программа для проверки компилятора на совместимость с C++20 | ||
|
||
#include <array> | ||
#include <iostream> | ||
#include <span> | ||
|
||
struct Foo | ||
{ | ||
int a{ }; | ||
int b{ }; | ||
int c{ }; | ||
}; | ||
|
||
consteval int sum(std::span<const int> a) // std::span и consteval | ||
{ | ||
int s{ 0 }; | ||
for (auto n : a) | ||
s += n; | ||
return s; | ||
} | ||
|
||
auto sum(auto x, auto y) -> decltype(x + y) // сокращённые шаблоны функций | ||
{ | ||
return x + y; | ||
} | ||
|
||
int main() | ||
{ | ||
constexpr std::array a{ 3, 2, 1 }; | ||
constexpr int s{ sum(a) }; | ||
std::cout << s << '\n'; | ||
|
||
Foo f1{ .a = 1, .c = 3 }; // назначенные инициализаторы | ||
std::cout << sum(f1.a, f1.c) << '\n'; | ||
|
||
return 0; | ||
} |
24 changes: 12 additions & 12 deletions
24
chapters/chapter_01/01-00_snippet.cpp → chapters/chapter_01/01-000_snippet.cpp
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,13 +1,13 @@ | ||
// исходный текст программы сохранен в кодировке UTF-8 без BOM | ||
|
||
// snippet.cpp | ||
// шаблон программы для вставки сниппета (фрагмента кода) | ||
|
||
#include <iostream> | ||
|
||
int main() | ||
{ | ||
// замените эту строку сниппетом, который вы хотите скомпилировать | ||
|
||
return 0; | ||
// исходный текст программы сохранен в кодировке UTF-8 без BOM | ||
|
||
// snippet.cpp | ||
// шаблон программы для вставки сниппета (фрагмента кода) | ||
|
||
#include <iostream> | ||
|
||
int main() | ||
{ | ||
// замените эту строку сниппетом, который вы хотите скомпилировать | ||
|
||
return 0; | ||
} |
58 changes: 29 additions & 29 deletions
58
chapters/chapter_01/01-01_line-comment.cpp → chapters/chapter_01/01-001_line-comment.cpp
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,30 +1,30 @@ | ||
// исходный текст программы сохранен в кодировке UTF-8 без BOM | ||
|
||
// line-comment.cpp | ||
// однострочные комментарии | ||
|
||
#include <iostream> | ||
|
||
int main() | ||
{ | ||
std::cout << "Привет, мир!\n"; // всё отсюда и до конца строки игнорируется | ||
|
||
std::cout << "Привет, мир!\n"; // std::cout есть в библиотеке iostream | ||
std::cout << "Приятно познакомиться с тобой!\n"; // эти комментарии в коде тяжело читать | ||
std::cout << "О, да!\n"; // особенно когда строки разной длины | ||
|
||
std::cout << "Привет, мир!\n"; // std::cout есть в библиотеке iostream | ||
std::cout << "Приятно познакомиться с тобой!\n"; // так читать код намного легче | ||
std::cout << "О, да!\n"; // не так ли? | ||
|
||
// std::cout есть в библиотеке iostream | ||
std::cout << "Привет, мир!\n"; | ||
|
||
// так читать код намного легче | ||
std::cout << "Приятно познакомиться с тобой!\n"; | ||
|
||
// не так ли? | ||
std::cout << "О, да!\n"; | ||
|
||
return 0; | ||
// исходный текст программы сохранен в кодировке UTF-8 без BOM | ||
|
||
// line-comment.cpp | ||
// однострочные комментарии | ||
|
||
#include <iostream> | ||
|
||
int main() | ||
{ | ||
std::cout << "Привет, мир!\n"; // всё отсюда и до конца строки игнорируется | ||
|
||
std::cout << "Привет, мир!\n"; // std::cout есть в библиотеке iostream | ||
std::cout << "Приятно познакомиться с тобой!\n"; // эти комментарии в коде тяжело читать | ||
std::cout << "О, да!\n"; // особенно когда строки разной длины | ||
|
||
std::cout << "Привет, мир!\n"; // std::cout есть в библиотеке iostream | ||
std::cout << "Приятно познакомиться с тобой!\n"; // так читать код намного легче | ||
std::cout << "О, да!\n"; // не так ли? | ||
|
||
// std::cout есть в библиотеке iostream | ||
std::cout << "Привет, мир!\n"; | ||
|
||
// так читать код намного легче | ||
std::cout << "Приятно познакомиться с тобой!\n"; | ||
|
||
// не так ли? | ||
std::cout << "О, да!\n"; | ||
|
||
return 0; | ||
} |
38 changes: 19 additions & 19 deletions
38
...rs/chapter_01/01-02_multiline-comment.cpp → ...s/chapter_01/01-002_multiline-comment.cpp
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,20 +1,20 @@ | ||
// исходный текст программы сохранен в кодировке UTF-8 без BOM | ||
|
||
// multiline-comment.cpp | ||
// многострочные комментарии | ||
|
||
#include <iostream> | ||
|
||
int main() | ||
{ | ||
/* Это многострочный комментарий. | ||
Эта строка будет проигнорирована. | ||
Так же, как и эта. */ | ||
|
||
/* Это многострочный комментарий. | ||
* Звездочки слева могут сделать | ||
* комментарий более легким для чтения. | ||
*/ | ||
|
||
return 0; | ||
// исходный текст программы сохранен в кодировке UTF-8 без BOM | ||
|
||
// multiline-comment.cpp | ||
// многострочные комментарии | ||
|
||
#include <iostream> | ||
|
||
int main() | ||
{ | ||
/* Это многострочный комментарий. | ||
Эта строка будет проигнорирована. | ||
Так же, как и эта. */ | ||
|
||
/* Это многострочный комментарий. | ||
* Звездочки слева могут сделать | ||
* комментарий более легким для чтения. | ||
*/ | ||
|
||
return 0; | ||
} |
28 changes: 14 additions & 14 deletions
28
...apter_01/01-03_multiline-nested-error.cpp → ...pter_01/01-003_multiline-nested-error.cpp
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,15 +1,15 @@ | ||
// исходный текст программы сохранен в кодировке UTF-8 без BOM | ||
|
||
// multiline-nested-error.cpp | ||
// многострочные комментарии нельзя вкладывать друг в друга | ||
// (эта программа выдаст ошибку при попытке компиляции) | ||
|
||
#include <iostream> | ||
|
||
int main() | ||
{ | ||
/* Это многострочный /* комментарий */ это не внутри комментария */ | ||
// Комментарий выше заканчивается на первом */, а не на втором */ | ||
|
||
return 0; | ||
// исходный текст программы сохранен в кодировке UTF-8 без BOM | ||
|
||
// multiline-nested-error.cpp | ||
// многострочные комментарии нельзя вкладывать друг в друга | ||
// (эта программа выдаст ошибку при попытке компиляции) | ||
|
||
#include <iostream> | ||
|
||
int main() | ||
{ | ||
/* Это многострочный /* комментарий */ это не внутри комментария */ | ||
// Комментарий выше заканчивается на первом */, а не на втором */ | ||
|
||
return 0; | ||
} |
Oops, something went wrong.