Почему? Почему?! ^>о->Ьаг() — Почему? — А, вот почему... / c++ :: языки программирования :: программирование :: it-юмор :: geek (Прикольные гаджеты. Научный, инженерный и айтишный юмор)

it-юмор geek c++ языки программирования программирование 
Почему?
Почему?!
^>о->Ьаг() — Почему?



— А, вот почему...,it-юмор,geek,Прикольные гаджеты. Научный, инженерный и  айтишный юмор,c++,языки программирования,программирование
Подробнее
Почему? Почему?! ^>о->Ьаг() — Почему? — А, вот почему...
it-юмор,geek,Прикольные гаджеты. Научный, инженерный и айтишный юмор,c++,языки программирования,программирование
Еще на тему
Развернуть

Отличный комментарий!

кибер-кэп?
Moonik Moonik18.10.202317:03ссылка
+7.1
Вызов метода у экземпляра класса, вызов метода по ссылке на экземпляр класса, вызов статического метода класса. Вроде так, давно не писал на плюсах.
xrayman xrayman18.10.202317:07ссылка
+9.7
более понятно для не IT шников.
вот надо кого то послать нахуй, например Ивана.
тут есть объект - иван, действие, и куда - нахуй, собственно действие и реализует наш класс типа tNahui и экземпляр nahui

т.е. в простейшем случае будет так:
tNahui nahui(Ivan);
nahui.poslat(); // когда ты рядом перед Иваном то тогда с точкой

если иван не рядом с тобой а к нему Федя пойдёт то не скажешь же ты Феде иди нахуй, ты получишь по морде от Феди (ну и от компилятора ошибку), у тебя будет указание - послать Ивана нахуй, т.е. работаем через указатель
Fedya = new tNahui(Ivan);
Fedya->poslat(); // когда ты далеко от ивана и даёшь указание Феде

а теперь предположим что тебе хочется узнать куда kuda() тип класса посылает. Тебе не нужен контекст и никакой иван не нужен чтоб послать, да и посылать ты не обязан никого. Ты можешь класс спросить и этот вопрос будет статичной функцией т.к. гвоздями у класса прибито это направление посыла и создавать экземпляр не нужно т.к. нет контекста.
log_out(tNahui::kuda()); // Выведет в лог "нахуй"
Mirn Mirn18.10.202317:15ссылка
+38.8
кибер-кэп?
Moonik Moonik 18.10.202317:03 ответить ссылка 7.1
кибер-присоединяюсь квашему кибер-почему
почему!
Вызов метода у экземпляра класса, вызов метода по ссылке на экземпляр класса, вызов статического метода класса. Вроде так, давно не писал на плюсах.
более понятно для не IT шников.
вот надо кого то послать нахуй, например Ивана.
тут есть объект - иван, действие, и куда - нахуй, собственно действие и реализует наш класс типа tNahui и экземпляр nahui

т.е. в простейшем случае будет так:
tNahui nahui(Ivan);
nahui.poslat(); // когда ты рядом перед Иваном то тогда с точкой

если иван не рядом с тобой а к нему Федя пойдёт то не скажешь же ты Феде иди нахуй, ты получишь по морде от Феди (ну и от компилятора ошибку), у тебя будет указание - послать Ивана нахуй, т.е. работаем через указатель
Fedya = new tNahui(Ivan);
Fedya->poslat(); // когда ты далеко от ивана и даёшь указание Феде

а теперь предположим что тебе хочется узнать куда kuda() тип класса посылает. Тебе не нужен контекст и никакой иван не нужен чтоб послать, да и посылать ты не обязан никого. Ты можешь класс спросить и этот вопрос будет статичной функцией т.к. гвоздями у класса прибито это направление посыла и создавать экземпляр не нужно т.к. нет контекста.
log_out(tNahui::kuda()); // Выведет в лог "нахуй"
Mirn Mirn 18.10.202317:15 ответить ссылка 38.8
В последнем случае ты обращаешься через :: именно к типу класса а не к экземпляру и к статичной функции/методу этого типа класса.
https://stackoverflow.com/questions/4365982/how-do-i-call-a-static-method-of-another-class
Mirn Mirn 18.10.202317:17 ответить ссылка 6.8
вот этот коммент понятнее, чем верхний. но всё-равно спасибо! верхний не дался, как математика без таблицы умножения.
спросил у чатджпт:
Шутка играет на различиях в синтаксисе программирования. В разных языках программирования для обращения к методам или свойствам объектов используются разные символы.

foo.bar(): Это стандартный синтаксис вызова метода для многих объектно-ориентированных языков, таких как Python, Java или JavaScript.

foo->bar(): Это синтаксис, который часто встречается в языках программирования на основе C (например, в C++ для указателей на объекты).

foo::bar(): Этот синтаксис используется, например, в C++ для вызова статических методов или для обращения к методам в пространствах имен.

На изображении персонаж, видимо, пытается понять, почему были использованы именно такие обозначения, и когда он доходит до третьего варианта, ему, видимо, что-то осознаётся (что именно — неизвестно, это и есть часть шутки).
Это какой язык?
C++ и немного лурка (вольный пересказ этого баяна как и картинки оттуда)
Mirn Mirn 18.10.202317:27 ответить ссылка 5.9
Кроме точки, выглядит как php
По уму класс у тебя должен быть, например "Кореша", а действия (методы) - послать, побороться, посмотреть...
пиши свой пример, разрешаю чо.
А у меня и так простыня получилась - уже слишком длинно для каммента.
Mirn Mirn 18.10.202317:55 ответить ссылка 1.3
Ну проблема в том, что у тебя простыня не очень правильная. Класс описывает поведение какого-то типа объектов, а не действия, которые с ними выполняются. Т.е. неграмотно создавать класс "нахуй". Можно создать класс "Хуй", и объекты у тебя будут не "Иван" и "Федор", а "морожовый", "конский" и т.п. И, соответственно, действие (функция, метод) "моржовый.послать" будет иметь аргументом "кого послать" - Ивана, Федора и т.п. Такое может быть, если ты пишешь софт для администрирования хуев, и тебе нужно задавать именно их поведение. Пусть будет так. Определили класс "Хуй" с функцией "послать_на", которая в качестве аргумента берет имя посланного и что-то с ним делает. Объявили экземпляр класса "моржовый" с какими-то там свойствами (диаметр, длина и т.п.).

Точка - это просто обращение к члену (гы-гы) класса для соответствующего объекта. Т.е. я пишу "моржовый.послать_на(Вася)", и Вася насаживается на моржовый.

-> это раскрытие указателя. Т.е. если я не знаю, на какой конкретно хуй я могу кого-нибудь послать, но знаю его местонахождение - то использую это. Например, мне известно, что ближайший хуй находится в комнате 404, то я пишу "комната 404" -> послать (Вася). Тогда исполнитель моей программы посмотрит, что находится в комнате 404, увидит там моржовый хуй класса "нахуй", и выполнит по отношению к Васе определенное для этого класса действие, а именно насадит Васю на находящийся в этой комнате хуй.

В чем у тебя неправильность - ты описываешь так, как будто действие выполняется через Федю, а это не так.

Но, допустим, ты не знаешь, какие у тебя хуи есть в распоряжении и где они находятся, а Федя знает. Тогда у класса, к которому принадлежит объект Федя, должен быть метод "сообщи местонахождение хуя". Тогда да, ты мог бы применить этот метод к Феде, Федя тебе сообщил бы указатель на хуй, и ты его использовал бы для вызова соответствующего метода посыла.

Т.е.

(Федя.сунуть_в_жопу_паяльник("где ближайший хуй?")) -> послать(Вася).

Как-то так.
> Т.е. если я не знаю, на какой конкретно хуй я могу кого-нибудь послать, но знаю его местонахождение - то использую это. Например, мне известно, что ближайший хуй находится в комнате 404, то я пишу "комната 404" -> послать (Вася).

Только вот нахуя всё это надо? Если я в джаве знаю, что хуй находится в комнате 404, то я пишу комната404.getХуй().послать(Вася);
На кой хуй здесь какие-то ёбаные указатели, ёбаные стрелочки? Получили объект, вызвали у него метод, всё.
Потому что "комната 404" - это аналогия для понимания непрограммистами. На самом деле указатель указывает на место в памяти, это специфический объект, с которым надо работать особым образом.

Но сейчас программисты все дальше от физики, поэтому и не понимают, зачем это. А скоро нейросети заматереют окончательно, и не нужно будет и все остальное.
Потому что программирование - это вообще не про физику. Не вижу проблемы.
Я, как джавист, не знаю, зачем нужны эти указатели на указатели на указатели, нахуя мне место в памяти, которое указывает на другое место в памяти? В высокоуровневых языках (включая плюсы) любая переменная - это уже указатель на место в памяти, его разрулят компилятор и интерпретатор.
Этак можно сказать, а зачем нам вообще переменные, зачем нам плюсы, зачем операционная система, давайте напрямую с абсолютными адресами в памяти работать, а код писать на ассемблере, а лучше сразу в машинных кодах.
и правильно - не зачем... пока не понадобится оптимизировать например видео потоки или 3д графику или сотни потоков аудио налету без задержек. И причём своё специфическое. А не библиотечное. ЧТО ВАЖНО.
Вот тогда придётся опускаться на уровень всё таки пониже. Даже Rust не хватит т.к. придётся делать всё inplace не копируя гигабайты в секунду попусту. а уже только для этого и понадобятся указатели и указательная арифметика чтоб обрабатывать данные что пишет железо типа DMA или видяхи.
Но в большинстве обычных случаев 3д, видео и тд - с всем этим справляются либы и надо их просто вызвать и не ебать мозги с указателями.
Mirn Mirn 20.10.202314:44 ответить ссылка 0.0
>побороться

Exception: побороться() before побрить() not allowed
так с Федором нельзя поступать, нужно использовать паттерн "интерфейс", и внутри уже раскидывать - непосредственно нахуй послать или с приветом через Федора
По мне так смешали разные языки. На первой пикче js/c++/c#. На второй и третьей кажется php, вызов метода экземпляра класса и вызов статической функции.
На всех трёх - c++, причем все вызовы могут идти в пределах одного блока
Два имени, которые часто используют в примерах в коде
Как в шутках про "русского, американца и француза"
Если мне не изменяют универовские знания, то:
-> - вызов метода bar указателя на объект foo
. - вызов метода bar объекта foo
:: - что-то там с пространством имен, вызов метода bar из пространства foo?
В случае с :: - либо из пространства foo, либо из класса foo, без подсматривания в исходник сказать нельзя.
какой сезон:серия?
10 сезон: 9 серия.
Самое начало практически (Минута 3~4-ая). И, если угодно, конкретно этот момент отдельно:
qwesaz qwesaz 18.10.202318:06 ответить ссылка 1.8
сезон::серия
d0dger d0dger 18.10.202318:42 ответить ссылка 2.0
Только зарегистрированные и активированные пользователи могут добавлять комментарии.
Похожие темы

Похожие посты
Принципы, паттерны и методики гибкой разработки на языке Среш.: [пер. с англ.]
Роберт С. Мартин
2011 - Всего страниц: 757
0 Отзывы ©
Цель книги - собрать воедино все методики гибкой разработки и показать их работоспособность
подробнее»

geek,Прикольные гаджеты. Научный, инженерный и айтишный юмор книга C# языки программирования программирование

Принципы, паттерны и методики гибкой разработки на языке Среш.: [пер. с англ.] Роберт С. Мартин 2011 - Всего страниц: 757 0 Отзывы © Цель книги - собрать воедино все методики гибкой разработки и показать их работоспособность
	д 1	^ /î
£		Г ^ КУПОН
НА 1 помощь