Это самое охуенное объяснение указателей что я видел!
int, wit, men
линягер попался
Str Con Dex
Прямо в сердечко
Приколы для образованных даунов со знанием C/C++
Но ведь указатели есть и в других языках.
В других языках и нотация другая.
Только C. На крестах смарт-поинтеры уже давно стали стандартом, а использование классических палит либо дремучего деда, либо студента, которого обучают не C++, а "Си с ООПшкой".
С ООПшкой, с ООПшкой!
К сожалению, везде сплошь и рядом используют простые указатели. Зайдите на гитхаб. Ибо тянуть всякие weak_ptr всем лень. Тут же и так понятно, что время жизни вот того объекта, который мы вот тут в конструкторе передаем, дольше текущего. Ну что плохого может случиться?
Ну костыльные проекты "для души" (коих на жыдхубе в большинстве) и делаются "на отвалите", т.к. если прям хорошо изучать особенности крестов и 11 стандарта (хотя уже давно как 17 во во всяких фреймворках с генераторами CMakeLists втыкается по дефолту), то тут можно тупо исчезнуть из реальности на год, так и не занявшись проектом.
А если всякие там ROS-проекты, то в таких штуках стиль кодинга вообще хрен пойми на что похож, ибо 90% расписываемого - математика, ну и отдаёт пайтоном с матлабом.
Хорошо это, плохо это - да хрен его знает. Если читать хабр, то там чуть ли не расстрел прописывают юзеру, если он не использует паттерны, злоупотребляет наследованием, не въезжает в плюсовые лямбды и вообще на зубок не знает stl и стандарты последних лет.
А если всякие там ROS-проекты, то в таких штуках стиль кодинга вообще хрен пойми на что похож, ибо 90% расписываемого - математика, ну и отдаёт пайтоном с матлабом.
Хорошо это, плохо это - да хрен его знает. Если читать хабр, то там чуть ли не расстрел прописывают юзеру, если он не использует паттерны, злоупотребляет наследованием, не въезжает в плюсовые лямбды и вообще на зубок не знает stl и стандарты последних лет.
Проекты для души... Почитайте, что ли, код хрома. Указатель на указателе, указателем погоняет. Вполне индустриальный проект, с жёстким стилем и обязательным код-ревью.
c++ на низком уровне упирается в сишную стд, которая кишит сырыми указателями.
c++ на высоком уровне нужен чуть более чем нигде.
c++ на высоком уровне нужен чуть более чем нигде.
кто-то пропустил main
Метод с прописной буквы. Ловите джависта!
Во-первых, такому написанию учат на cs50 при изучении основ языка С
Во-вторых, обычно гнобят не джавистов, а джаваскриптизеров
Во-вторых, обычно гнобят не джавистов, а джаваскриптизеров
Войд - это /dev/null ?
Нет, на самом деле void* — это "бестиповый" указатель. Его можно привести у указателю на другой тип, например, или указатель другого типа можно привести к нему.
используя void* можно заставить компилятор читать и писать память по произвольному адресу, что иногда может быть источником совершенно невероятных ошибок и проблем которые сложно найти.
то там по этому адресу находится не известно и не важно.
например вы можете прочитать тыкву как машину, в результате получить машину с совершенно неожиданными характеристиками.
а если запишите машину в место отведённое под тыкву, то повредите данные случайных объектов которые находятся рядом с тыквой, так как у тыквы меньше "размер", при чем никаких ошибок в этот момент вы не увидите.
ошибки произойдут потом, при чем они могут произойти сильно потом и программа упадёт с совершенно невнятными ошибками, это один из самых мерзких и сложных в поиске багов.
например вы можете промахнуться в указателе на 1 и повредить участок памяти который отвечает за какое-то важное условие, например тормоза в лифте или знак в ограничителе скорости космического аппарата.
аварий из за этого было много тысяч и современные компиляторы ответ на эти аварии.
то там по этому адресу находится не известно и не важно.
например вы можете прочитать тыкву как машину, в результате получить машину с совершенно неожиданными характеристиками.
а если запишите машину в место отведённое под тыкву, то повредите данные случайных объектов которые находятся рядом с тыквой, так как у тыквы меньше "размер", при чем никаких ошибок в этот момент вы не увидите.
ошибки произойдут потом, при чем они могут произойти сильно потом и программа упадёт с совершенно невнятными ошибками, это один из самых мерзких и сложных в поиске багов.
например вы можете промахнуться в указателе на 1 и повредить участок памяти который отвечает за какое-то важное условие, например тормоза в лифте или знак в ограничителе скорости космического аппарата.
аварий из за этого было много тысяч и современные компиляторы ответ на эти аварии.
Есть кэп для для тугодума, который объяснит, почему void ** нарисовали как дыру?
void - дыра, ибо в переводе "пустота".
void * - указатель на дыру.
Если бы было void **, то нарисовали б ещё одного крипи-вояка, который тычет в крипи-вояка, который тычет в дыру.
void * - указатель на дыру.
Если бы было void **, то нарисовали б ещё одного крипи-вояка, который тычет в крипи-вояка, который тычет в дыру.
Нахуй эти ебаные указатели вообще нужны? Обходятся же шарп и джава как-то без этой поеботы. А в плюсах чтобы хелловорлд написать, нужно разбираться в указателях на указатели и их разыменовывании.
Чтобы написать коммент, необходимо залогиниться
Отличный комментарий!