rivizoft

На Пикабу
104 рейтинг 5 подписчиков 0 подписок 3 поста 0 в горячем
Награды:
5 лет на Пикабу
9

Как устроены умные указатели C++

Привет.Частое использование указателей приводит к путанице и дублированию кода (при создании например указателей, которые нужны нам только в области работы функции, придётся прописывать оператор delete, чтобы устранить утечку памяти). Поэтому в C++ есть shared-ptr, unique-ptr и auto-ptr (это вообще отдельная тема в чем их отличие:))


В этом посте рассмотрим минимальную реализацию умного указателя. Его принцип заключается в том, что этот указатель мы выносим в отдельный объект типа SmartPointer, который хранит указатель.


По сути, этот объект за счёт устройства языка позволяет не заботиться об освобождении памяти. Ведь при выходе из области видимости функции у нашего объекта вызывается деструктор, который за нас освобождает память.


на 20-ой строчке переопределение оператора звездочка, чтобы обращаться к элементу


Так устроен самый примитивный смарт поинтер :)


Я кстати часто разбираю структуры, программы и т.п. Если хотите разобраться намного глубже в алгоритмах и теории можете подписаться на мой Telegram-канал.

Как устроены умные указатели C++
Показать полностью 1
2

Видео о том, как мы делали игру на хакатоне.

Видео о том, как мы делали игру на хакатоне.

Эта 3D игра была первым опытом для нас, хоть мы многое не успели и не реализовали. У нас полно багов и недоработанных механик, но блин, это круто! Потому что это был действительно настоящий опыт для нас :)

Показать полностью 1
2

Пишем чит для Counter-Strike или как работать с памятью в C++

Сёркииис! Сегодня затронем почти не обсуждаемую тему в рунете - как написать чит на C++. Я не призываю вас писать читы для игр, эту тему я затрагиваю лишь в познавательных целях.

Вчера мне предложили написать чит для игры, опыта в этом у меня конечно нет, но из любопытства я сразу же "побежал" читать забугорные сайты на эту тему, так в итоге я написал свой "чит" для накрутки денег в CS 1.6:


Идея такая, ищем процесс с игрой, заходим в его память и меняем нужные нам данные. Как можно заметить, я явно указываю адрес в памяти, который хранит деньги, чтобы сэкономить вам время чтения этого поста (кому интересно, здесь можно посмотреть, как перебирать ячейки памяти процесса). Весь код прокомментирован и думаю, у вас не должно быть проблем с его понимаем, ведь в C++ невероятно удобно работать с памятью.

Мой телеграм-канал: @itpods

Пишем чит для Counter-Strike или как работать с памятью в C++
Показать полностью 1 1
Отличная работа, все прочитано!

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества