![#SimpleCode](/img/default-banner.jpg)
- 362
- 59 569 889
#SimpleCode
Registrace 12. 02. 2017
Подробные уроки программирования на самых разных языках для новичков и не только.
✅ПОЛЕЗНЫЕ ССЫЛКИ:
🔹 Telegram канал t.me/SergeySimpleCode
🔹Доступ к исходному коду и спонсорство www.patreon.com/SimpleCode
✅ПОДДЕРЖАТЬ КАНАЛ:
🔹 donatepay.ru/don/SimpleCode
🔹BTC кошелек: 12oYfJnvt76wjJbpvfhM41m6KPz6uz4LD4
✅ПОЛЕЗНЫЕ ССЫЛКИ:
🔹 Telegram канал t.me/SergeySimpleCode
🔹Доступ к исходному коду и спонсорство www.patreon.com/SimpleCode
✅ПОДДЕРЖАТЬ КАНАЛ:
🔹 donatepay.ru/don/SimpleCode
🔹BTC кошелек: 12oYfJnvt76wjJbpvfhM41m6KPz6uz4LD4
Обобщения в C# | производительность | коллекции | list vs arraylist | C# ООП | # 84
В этом уроке мы проведём бенчмарки и выясним как использование обобщений влияет на производительность кода в языке программирования C#, а так же сравним производительность обобщённой коллекции List и необобщённой коллекции ArrayList при работе со значимыми типами.
➡️ Мой курс C# ОТ НОВИЧКА К ПРОФЕССИОНАЛУ на Udemy
👉 www.udemy.com/course/simplecode-cshap/?referralCode=53C0314076F77DCC2A02
✅ ИСХОДНЫЙ КОД www.patreon.com/posts/iskhodnyi-kod-k-54691748
🔹 Telegram канал t.me/SergeySimpleCode
🔹 Наша группа ВК smplcode
✅ Доступ к исходному коду и спонсорство www.patreon.com/SimpleCode
✅ donatepay.ru/don/SimpleCode
✅ BTC кошелек: 12oYfJnvt76wjJbpvfhM41m6KPz6uz4LD4
✅ Подписывайтесь на канал czcams.com/channels/tLKO1Cb2GVNrbU7Fi0pM0w.html
✅ Упаковка и распаковка значимых типов c# | boxing and unboxing | C# ОТ НОВИЧКА К ПРОФЕССИОНАЛУ | # 82 czcams.com/video/FawYy8tztdI/video.html
✅ Обобщения в C# | C# generics | generic типы методы и классы | C# ОТ НОВИЧКА К ПРОФЕССИОНАЛУ | # 83 czcams.com/video/TLMwNFCcqVo/video.html
✅ Benchmarkdotnet | как измерить производительность кода | Benchmark вашего кода C# czcams.com/video/8Slzd1G7f9Q/video.html
#сишарп #simplecode #урокипрограммирования
➡️ Мой курс C# ОТ НОВИЧКА К ПРОФЕССИОНАЛУ на Udemy
👉 www.udemy.com/course/simplecode-cshap/?referralCode=53C0314076F77DCC2A02
✅ ИСХОДНЫЙ КОД www.patreon.com/posts/iskhodnyi-kod-k-54691748
🔹 Telegram канал t.me/SergeySimpleCode
🔹 Наша группа ВК smplcode
✅ Доступ к исходному коду и спонсорство www.patreon.com/SimpleCode
✅ donatepay.ru/don/SimpleCode
✅ BTC кошелек: 12oYfJnvt76wjJbpvfhM41m6KPz6uz4LD4
✅ Подписывайтесь на канал czcams.com/channels/tLKO1Cb2GVNrbU7Fi0pM0w.html
✅ Упаковка и распаковка значимых типов c# | boxing and unboxing | C# ОТ НОВИЧКА К ПРОФЕССИОНАЛУ | # 82 czcams.com/video/FawYy8tztdI/video.html
✅ Обобщения в C# | C# generics | generic типы методы и классы | C# ОТ НОВИЧКА К ПРОФЕССИОНАЛУ | # 83 czcams.com/video/TLMwNFCcqVo/video.html
✅ Benchmarkdotnet | как измерить производительность кода | Benchmark вашего кода C# czcams.com/video/8Slzd1G7f9Q/video.html
#сишарп #simplecode #урокипрограммирования
zhlédnutí: 189 497
Video
Обобщения в C# | C# generics | generic типы методы и классы | C# ОТ НОВИЧКА К ПРОФЕССИОНАЛУ | # 83
zhlédnutí 81KPřed 3 lety
В этом уроке мы начнём разбирать тему обобщений (generics ) в языке программирования C# и выясним как их использовать для чего они нужны и как работают. ➡️ Мой курс C# ОТ НОВИЧКА К ПРОФЕССИОНАЛУ на Udemy 👉 www.udemy.com/course/simplecode-cshap/?referralCode=53C0314076F77DCC2A02 ✅ ИСХОДНЫЙ КОД www.patreon.com/posts/iskhodnyi-kod-k-53854156 🔹 Telegram канал t.me/SergeySimpleCode 🔹 Наша группа ВК ...
Упаковка и распаковка значимых типов c# | boxing and unboxing | C# ОТ НОВИЧКА К ПРОФЕССИОНАЛУ | # 82
zhlédnutí 55KPřed 3 lety
В этом уроке мы поговорим о том, что такое упаковка и распаковка значимых типов (boxing and unboxing), когда она происходит, почему это нужно знать и почему этого следует избегать. ➡️ Мой курс C# ОТ НОВИЧКА К ПРОФЕССИОНАЛУ на Udemy 👉 www.udemy.com/course/simplecode-cshap/?referralCode=53C0314076F77DCC2A02 ✅ ИСХОДНЫЙ КОД www.patreon.com/posts/iskhodnyi-kod-k-53016717 🔹 Telegram канал t.me/Sergey...
Структуры в C# | структуры и классы отличия | struct vs class | C# ОТ НОВИЧКА К ПРОФЕССИОНАЛУ | # 81
zhlédnutí 82KPřed 3 lety
В этом уроке мы рассмотрим тему структуры в языке программирования C#. Выясним в чём разница между структурами и классами на примере бенчмарков, а так же ответим на вопрос когда использовать структуры, а когда классы. ➡️ Мой курс C# ОТ НОВИЧКА К ПРОФЕССИОНАЛУ на Udemy 👉 www.udemy.com/course/simplecode-cshap/?referralCode=53C0314076F77DCC2A02 ✅ ИСХОДНЫЙ КОД www.patreon.com/posts/iskhodnyi-kod-k-...
Benchmarkdotnet | как измерить производительность кода | Benchmark вашего кода C#
zhlédnutí 26KPřed 3 lety
В этом видео мы вы выясним каким образом можно измерить производительность C# кода с помощью библиотеки Benchmarkdotnet, как измерить время выполнения программы, а так же как измерить потребление памяти. ➡️ Мой курс C# ОТ НОВИЧКА К ПРОФЕССИОНАЛУ на Udemy 👉 www.udemy.com/course/simplecode-cshap/?referralCode=53C0314076F77DCC2A02 ✅ ИСХОДНЫЙ КОД www.patreon.com/posts/iskhodnyi-kod-k-51900548 🔹 Tel...
Реализация интерфейса по умолчанию в C# 8.0 | C# ОТ НОВИЧКА К ПРОФЕССИОНАЛУ | # 80
zhlédnutí 40KPřed 3 lety
В этом уроке мы рассмотрим такую спорную фичу в языке программироdания C# как "Реализация интерфейса по умолчанию". Выясним почему она спорная и, всё таки, в чём могут быть плюсы её использования. ➡️ Мой курс C# ОТ НОВИЧКА К ПРОФЕССИОНАЛУ на Udemy 👉 www.udemy.com/course/simplecode-cshap/?referralCode=53C0314076F77DCC2A02 ✅ ИСХОДНЫЙ КОД www.patreon.com/posts/iskhodnyi-kod-k-51349079 🔹 Telegram к...
Интерфейсы в C# | ЯВНАЯ РЕАЛИЗАЦИЯ интерфейса C# | C# ОТ НОВИЧКА К ПРОФЕССИОНАЛУ | # 79
zhlédnutí 43KPřed 3 lety
В этом уроке мы продолжим изучать тему ООП в языке программирования C# и рассмотрим вопрос о явной реализации интерфейсов в C#. Выясним для чего она явная реализация интерфейсов применяется, рассмотрим синтаксис и узнаем как она работает. ➡️ Мой курс C# ОТ НОВИЧКА К ПРОФЕССИОНАЛУ на Udemy 👉 www.udemy.com/course/simplecode-cshap/?referralCode=53C0314076F77DCC2A02 ✅ ИСХОДНЫЙ КОД www.patreon.com/p...
Наследование интерфейсов C# | множественное наследование интерфейсов | C# ООП | # 78
zhlédnutí 45KPřed 3 lety
В этом уроке мы обсудим тему наследования интерфейсов в языке программирования C# (не путать с реализацией интерфейсов), а так же выясним как работает множественное наследование интерфейсов в C# и рассмотрим пример применения наследования интерфейсов в языке программирования си шарп. ➡️ Мой курс C# ОТ НОВИЧКА К ПРОФЕССИОНАЛУ на Udemy 👉 www.udemy.com/course/simplecode-cshap/?referralCode=53C0314...
ASCII графика из любой картинки на C# пишем программу | ASCII генератор | С# практика | C# ПЛЮШКИ
zhlédnutí 51KPřed 3 lety
В этом уроке мы напишем программу на C# с помощью которой сможем конвертировать и сохранить в текстовый файл любую картинку или же фото в ASCII графику. ➡️ Если вам нравятся мои уроки на CZcams, вы можете поддержать меня и купить мой курс по языку программирования C# на Udemy 👉 www.udemy.com/course/simplecode-cshap/?referralCode=53C0314076F77DCC2A02 ✅ ИСХОДНЫЙ КОД www.patreon.com/posts/iskhodny...
Интерфейсы в C# зачем нужны и как используются | C# ОТ НОВИЧКА К ПРОФЕССИОНАЛУ | # 77
zhlédnutí 131KPřed 3 lety
В этом уроке начнём разбираться с интерфейсами в языке программирования C#, выясним для чего они нужны как используются и рассмотрим несколько примеров использования интерфейсов. ➡️ Если вам нравятся мои уроки на CZcams, вы можете поддержать меня и купить этот курс по языку программирования C# на Udemy 👉 www.udemy.com/course/simplecode-cshap/?referralCode=53C0314076F77DCC2A02 ✅ ИСХОДНЫЙ КОД www...
Абстрактные классы | зачем нужны абстрактные методы | abstract c# | полиморфизм | C# ООП | # 76
zhlédnutí 97KPřed 3 lety
В этом уроке мы продолжим изучение темы полиморфизма в ООП в языке программирования C# и коснёмся темы абстракции. Выясним что такое абстрактные классы, абстрактные методы, абстрактные свойства, для чего они нужны как используются и как связаны с полиморфизмом в си шарп. ➡️ Мой курс C# ОТ НОВИЧКА К ПРОФЕССИОНАЛУ на Udemy 👉 www.udemy.com/course/simplecode-cshap/?referralCode=53C0314076F77DCC2A02...
Полиморфизм | виртуальные методы c# | virtual override c# | C# ОТ НОВИЧКА К ПРОФЕССИОНАЛУ | # 75
zhlédnutí 86KPřed 3 lety
В этом уроки мы на простом примере рассмотрим что такое полиморфизм в ООП, для чего он нужен и как его использовать в языке программирования C#. Так же мы рассмотрим инструмент который понадобятся для реализации полиморфизма - переопределение виртуальных методов с помощью ключевых слов virtual и override. ➡️ Мой курс C# ОТ НОВИЧКА К ПРОФЕССИОНАЛУ на Udemy 👉 www.udemy.com/course/simplecode-cshap...
Лучшие книги по C# для начинающих и не только | Как выучить C#
zhlédnutí 113KPřed 3 lety
В этом видео обсудим книги по C# которые должен прочесть и усвоить каждый C# разработчик. Обсудим как C# книги для начинающих, так и для тех, кто уже продвинулся в изучении языка программирования си шарп, а так же коснёмся вопросов изучения программирования по книгам и того, что новичкам делать с тем, что книги по программированию быстро устаревают. ➡️ Мой курс C# ОТ НОВИЧКА К ПРОФЕССИОНАЛУ на ...
Наследование в C# и модификаторы доступа | модификатор protected c# | C# ООП | # 74
zhlédnutí 42KPřed 3 lety
В этом уроке мы продолжим изучать тему наследования в ООП в C# и выясним как работают модификаторы доступа при наследовании. Разберёмся как работают уже знакомые нам модификаторы доступа private и public, а так же изучим новый модификатор protected. ➡️ Мой курс C# ОТ НОВИЧКА К ПРОФЕССИОНАЛУ на Udemy 👉 www.udemy.com/course/simplecode-cshap/?referralCode=53C0314076F77DCC2A02 ✅ ИСХОДНЫЙ КОД www.pa...
Операторы as is c# | наследование и приведение типов в C# | C# ОТ НОВИЧКА К ПРОФЕССИОНАЛУ | # 73
zhlédnutí 56KPřed 3 lety
В этом уроке мы выясним как используются и работают операторы as is в C# для приведения типов и проверки совместимости типов при использовании наследования в ООП на C#. ➡️ Мой курс C# ОТ НОВИЧКА К ПРОФЕССИОНАЛУ на Udemy 👉 www.udemy.com/course/simplecode-cshap/?referralCode=53C0314076F77DCC2A02 ✅ ИСХОДНЫЙ КОД www.patreon.com/posts/iskhodnyi-kod-k-48479191 🔹 Telegram канал t.me/SergeySimpleCode 🔹...
Ключевое слово base в C# | наследование и конструктор класса | C# ОТ НОВИЧКА К ПРОФЕССИОНАЛУ | # 72
zhlédnutí 57KPřed 3 lety
Ключевое слово base в C# | наследование и конструктор класса | C# ОТ НОВИЧКА К ПРОФЕССИОНАЛУ | # 72
Наследование в C# | Что такое наследование в ооп | C# ОТ НОВИЧКА К ПРОФЕССИОНАЛУ | # 71
zhlédnutí 72KPřed 3 lety
Наследование в C# | Что такое наследование в ооп | C# ОТ НОВИЧКА К ПРОФЕССИОНАЛУ | # 71
Синтаксис инициализации объектов класса | ООП C# | C# ОТ НОВИЧКА К ПРОФЕССИОНАЛУ | # 70
zhlédnutí 43KPřed 3 lety
Синтаксис инициализации объектов класса | ООП C# | C# ОТ НОВИЧКА К ПРОФЕССИОНАЛУ | # 70
const vs readonly | c# разница между const и readonly | const и static | C# ООП | # 69
zhlédnutí 50KPřed 3 lety
const vs readonly | c# разница между const и readonly | const и static | C# ООП | # 69
partial класс c# | частичные типы c# | partial методы c# | C# ОТ НОВИЧКА К ПРОФЕССИОНАЛУ | # 68
zhlédnutí 45KPřed 3 lety
partial класс c# | частичные типы c# | partial методы c# | C# ОТ НОВИЧКА К ПРОФЕССИОНАЛУ | # 68
Методы расширения c# | extension методы c# | C# ОТ НОВИЧКА К ПРОФЕССИОНАЛУ | # 67
zhlédnutí 61KPřed 3 lety
Методы расширения c# | extension методы c# | C# ОТ НОВИЧКА К ПРОФЕССИОНАЛУ | # 67
Статический класс c# | как работает ключевое слово static | C# ОТ НОВИЧКА К ПРОФЕССИОНАЛУ | # 66
zhlédnutí 51KPřed 3 lety
Статический класс c# | как работает ключевое слово static | C# ОТ НОВИЧКА К ПРОФЕССИОНАЛУ | # 66
Статический конструктор класса c# | как работает ключевое слово static | C# ООП | # 65
zhlédnutí 53KPřed 3 lety
Статический конструктор класса c# | как работает ключевое слово static | C# ООП | # 65
Статические методы C# | Статические свойства C# | как работает ключевое слово static | C# ООП | # 64
zhlédnutí 70KPřed 3 lety
Статические методы C# | Статические свойства C# | как работает ключевое слово static | C# ООП | # 64
C# статические поля класса | как работает ключевое слово static | C# ОТ НОВИЧКА К ПРОФЕССИОНАЛУ # 63
zhlédnutí 75KPřed 3 lety
C# статические поля класса | как работает ключевое слово static | C# ОТ НОВИЧКА К ПРОФЕССИОНАЛУ # 63
C# свойства get set | ключевое слово value | автоматические свойства c# | ООП C# Урок | # 62
zhlédnutí 111KPřed 3 lety
C# свойства get set | ключевое слово value | автоматические свойства c# | ООП C# Урок | # 62
Ключевое слово this c# | ООП C# | С# this в конструкторе | C# ОТ НОВИЧКА К ПРОФЕССИОНАЛУ | # 61
zhlédnutí 69KPřed 3 lety
Ключевое слово this c# | ООП C# | С# this в конструкторе | C# ОТ НОВИЧКА К ПРОФЕССИОНАЛУ | # 61
Перегрузка конструкторов класса в C# | Что такое перегрузка | C# ОТ НОВИЧКА К ПРОФЕССИОНАЛУ | # 60
zhlédnutí 65KPřed 3 lety
Перегрузка конструкторов класса в C# | Что такое перегрузка | C# ОТ НОВИЧКА К ПРОФЕССИОНАЛУ | # 60
Что такое конструктор класса c# | для чего он нужен | конструктор по умолчанию си шарп | Урок # 59
zhlédnutí 97KPřed 3 lety
Что такое конструктор класса c# | для чего он нужен | конструктор по умолчанию си шарп | Урок # 59
ИНКАПСУЛЯЦИЯ C# | примеры инкапсуляции с объяснением | C# ОТ НОВИЧКА К ПРОФЕССИОНАЛУ | # 58
zhlédnutí 89KPřed 3 lety
ИНКАПСУЛЯЦИЯ C# | примеры инкапсуляции с объяснением | C# ОТ НОВИЧКА К ПРОФЕССИОНАЛУ | # 58
То самое чувство, когда досмотрел до этого видео, но всё ещё самостоятельно не можешь написать программу...
я из предыдущей задачи так сделал последний цикл if (!alreadyThere) { arr[i] = newRandomValue; i++; if (minBool == false) { min = newRandomValue; minBool = true; } else if (newRandomValue < min) { min = newRandomValue; } }
std::size(arr) вот и все
очень крутой пример с патронником. Молодец
Способ действительно работает, и раз'ем не портит.
Что а < 10 трет?
Воу, не знаю, есть ли другие способы написать, но мой код получился точь в точь, с парой отличий. Потратил час может void main() { setlocale(LC_ALL, "Rus"); srand(time(NULL)); int const SIZE = 10; int arr[SIZE], num = 0; for (int i = 0; i < SIZE; i++) { bool a = 1; num = rand() % 20; for (int j = 0; j < i; j++) { if (num == arr[j]) { a = 0; i--; break; } } if (a) { arr[i] = num; cout << num << endl; } } }
Здравствуйте! Я вот смотрю этот урок и думаю: А все эти уроки и туториалы в коде C++ могут работать в Codeblock? Я просто изначально, до того как начал смотреть эти уроки скачал Codeblock.
Чет каша в голове. Подзабыл... Я правильно понимаю что при объявлении класса дружественным, дружественный класс может получать доступ к полям класса в котором объявлена дружба. Когда мы делаем это с методом для полного функционала мы должны вынести его?
Уроки и правда отличные, но после каждого урока все больше хочется уйти в питон
Не совсем понял разницу между абстрактным классом и интерфейсом. Не одно и то же?
🤝🙏
Получилось у меня. Большое спасибо! Ты крутой.
Одна цифра до пасхалки) заметил всё таки.
int strlen_(char *str) { int counter = 0; for (;str[counter] != '\0';counter++); return counter; }
Жаль канал заброшен...
void main() { setlocale(LC_ALL, "Rus"); int beg, end, sum = 0; cout << "Введите начало диапазона: "; cin >> beg; cout << "Введите конец диапазона: "; cin >> end; cout << " Дан диапазон: " << "(" << beg << "; " << end << ") "; beg++, end--; do { if (beg % 2 == 1 || beg % 2 == -1) { cout << "Нечетное число: " << beg << " "; sum += beg; beg +=2; } else { beg++; } } while (beg <= end); cout << " SUM: " << sum; }
если кто сюда дошел, и не понимает, что конкретно защищает const в двух видах записи (перед или после указателя). То как бы вот: Т.к указатель может принимать в себя адрес какой либо переменной, мы можем через указатель менять значение этой переменной. const ПЕРЕД указателем защищает значение, на которое ссылается указатель. то есть по записи ||const int* a = что-то||, мы не сможем сделать ||*a = что-то_другое||, const-анируется значение, менять его нельзя, но записью ||a = &что-то_еще|| мы переадресовываем указатель, теперь указывает на новое значение (и это новое значение мы также не можем менять. const ПОСЛЕ указателя защищает сам адрес, тут уже наоборот мы можем через указатель изменить значение, но не можем переадресовать указатель: ||*a = что-то_другое|| - можно, ||a = &что-то_еще|| - нельзя. и тут уже как бы сами решайте, что защищать - адрес или значение, или оба.
Сидел около часа думал, как сделать так, чтобы при неправильном введенном значении (кроме 1 и 2) выдать ошибку, но продолжить работу программы, пока пользователь не введет правильное значение. Это было так элементарно) Зато хотя бы посидел, подумал, как реализовать. Какой никакой опыт. Вот код: fstream fs; fs.open(path,fstream::in | fstream::out | fstream::app); if (!fs.is_open()) { cout << "err" << endl; } else { string msg; int value; cout << "File was opened!" << endl; cout << "Click to 1 for zapisi msg in file" << endl; cout << "click to 2 for schitivaniya all msg in file" << endl; cin >> value; while (true) { if (value == 1) { if (value == 1) { cout << "Enter ur msg!" << endl; SetConsoleCP(1251); cin >> msg; fs << msg << " "; SetConsoleCP(866); break; } } else if (value == 2) { if (value == 2) { while (!fs.eof()) { msg = ""; fs >> msg; cout << msg << endl; } break; } } else { cout << "Err! " << endl; cin >> value; } } } fs.close();
А где цыкл foreach? Видос у хоть и много, но все равно как по мне его упускать было лишнем
После каждого ррлика захожу в комментарии. Очень полезно однако
лайк за точки над "ё"
С этой информацией я наконец смогу сделать игру!
За 3 часа написал такую вермишель: string f = "#"; string cage = "#"; for (int i = 0; i < 10; i++) { for (int j = 0; j < 1; j++) { Console.Write(f); f = f + cage; } Console.WriteLine(); } Console.WriteLine(); Console.WriteLine(); Console.WriteLine(); int t = 10; for (int i = 0; i < 10; i++) { for (int j = 0; j < t; j++) { Console.Write("#"); } t--; Console.WriteLine(); } Console.WriteLine(); Console.WriteLine(); Console.WriteLine(); f = "#"; cage = "#"; t = 9; for (int i = 0; i < 10; i++) {int space = t; for (; space > 0;) { Console.Write(" "); space--; } for (int j = 0; j < 1; j++) { Console.Write(f); f = f + cage; t--; } Console.WriteLine(); } Console.WriteLine(); Console.WriteLine(); Console.WriteLine(); f = "#"; cage = "#"; t = 0; int c = 10; for (int i = 0; i < 10; i++) { int space = t; int call = c; for (; space > 0;) { Console.Write(" "); space--; } for (int j = 0; j < call; j++) { Console.Write(f); } t++; c--; Console.WriteLine(); } Получил: # ## ### #### ##### ###### ####### ######## ######### ########## ########## ######### ######## ####### ###### ##### #### ### ## # # ## ### #### ##### ###### ####### ######## ######### ########## ########## ######### ######## ####### ###### ##### #### ### ## # P.s.: Последние 2 треугольника нормальные. Разность формата пробела в консоли и здесь.
А я типы данных задал int для переменной что выбирает switch и double для цифр и все сработало !
🤝
Привет из 2024
самый полезный урок который я когда либо смотрел!!! за 20минут объяснил больше чем многие за неделю, а то и месяц👍
Сергей, смотрю в 2024, информация ни капли не устарела. Как у вас дела, почему не снимаете новые видео?
В прошлом уроке об этом и подумал! Мол странно как-то массив создал :| Но вроде смысл понял, но уточнения были бы неплохими!
Ну тема будто интуитовно понятная хех! Круто!
первые 2 треугольника решил за 3 минуты, а остальные так и не получилось :(
Сегодня я начал проходить курс . У меня буквально 0 знаний в этой области. Хочу прийти сюда через пару месяцев и увидеть, как я продвинулся
Эх.., жалко что автор больше не выпускает видимо, просто шедевр а не объяснения, удачи ему❤❤
Сергей ты куда пропал?
Рекурсивный мьютекс это то же самое, что семафор?
Хм, выходит суть полей static В том что это типа по факту обычные переменные :| Ну типа поле не привязанное к конкретному объекту, и также с методами статик :| Для простоты буду считать что инициализация вне класса, полей статик Является указанием на то что его значение не принадлежит ни одному из объектов \._./ Методы статик тоже классная штука как вижу хех)) Ну типа вызывается вне зависимости объекта... То есть представка static Обозначает независимость от объекта.. При этом поля/методы статик все ещё являются частью класса :| Типа да короче
int mini = 100000000; for (int i = 0; i < SIZE; i++) { if (arr[i] < mini) { mini = arr[i]; } } cout << "Самое маленькое число: " << mini << endl;
чёт не работает, член point x недоступен, хотя friend написал для него.
что за музыка на фоне?
легендарный учитель
Обычно в реализации оператора присваивания также проверяют, происходит ли самоприсваивание (то есть, this и &other указывают на один и тот же объект). Это позволяет избежать ненужных операций. Это может выглядеть так: if (this == &other) { return *this; } Эту проверку можно вставить в начале метода.
Вот пример улучшеного кода: Human& operator=(const Human& other) { if (this == &other) { return *this; // Проверка на самоприсваивание } cout << "Вызвался оператор =" << tab << this << endl; this->size = other.size; if (this->data != nullptr) { delete[] this->data; } this->data = new int[other.size]; for (int i = 0; i < other.size; i++) { this->data[i] = other.data[i]; } return *this; }
Что означает в сроке this->Size = other.size, зачем там точка "other.Size"? и что она означает?
Круто! Спасибо!
Сергей, спасибо за вашу работу! Мне 18 лет, до этого момента я не знал что же я буду делать в своей жизни, но, наткнувшись на ваши уроки, я понял, что мне нравится программировать, спасибо за ваши труды, очень жду вашего возвращения! Надеюсь весь тот кошмар, который сейчас происходит в ближайшем времени прекратится, мира вам и вашим родным, друзья.
13:30 , в этом месте вы не копируете size в data , потому что так меньше памяти занимает? а что если в конструкторе передать ссылку на на size и эту ссылку присвоить указателю data? так ещё короче😁
СЛОЖНА. Спасибо автору - по итогу понятно.
Блин мужик, глубокое уважение к тебе за столь четкий курс по шарпам. Решил изучить язык так как хотел лучше понимать среду разработки, хоть я и гейм дизайнер, посмотрел "слив" от Романа Сакутина и цже после него нашел твой канал, как говорится искал медь а нашел золото!
не понимаю почему this->Size = other.Size ?? , если мы в конструкторе прописывали что this->Size = size. А потом еще в конструкторе копироания испоьзуем other.Size
Быстро же строки смирились, что их складывают Конкате Нация