Анонимный Объект

Анонимный объект - это что-то весьма простое, что почти все уже делали, но чего многие бояться. Надеюсь в этом видео развеять несколько мифов по поводу сложности этого подхода в программировании.

Пікірлер: 15

  • @helga_volt
    @helga_volt11 күн бұрын

    Для меня, как для новичка, язык Java становится более понятным, и я начинаю лучше его понимать! Спасибо большое!

  • @user-se8yd8th5u
    @user-se8yd8th5u8 жыл бұрын

    не сказали самого главного: что происходит с анонимным объектом сразу после того как он используется? он остается в памяти до окончания блока или сразу вызывается деструктор??? или в разных языках по разному? тогда хотя бы несколько примеров дали, например в java & cpp

  • @maxlich9139

    @maxlich9139

    6 жыл бұрын

    В джаве он будет уничтожен при следующем запуске сборщика мусора (а пока будет висеть в памяти)

  • @user-jh2hj4bi2l
    @user-jh2hj4bi2l8 жыл бұрын

    хороший урок. Анонимные объекты мне очень часто были нужны как int foo (tree*, tree*, tree*); и потом foo (new NNode (new INode(1), new JNode(j)), MNode(new INode(5), new FNode(i,j), new UNode(i,j,k)), new KNode()); такой подход просто очень сокращает код. Другое дело, что если это сипп, то с таким подходом программа внезапно может потечь. С этим бороться можно с помощью умных указателей. Но я например слишком привык к сырым указателям, и каждый раз приходится изголяться, чтобы программа не текла. А вы делаете уроки по reverse engineering?

  • @shmulful
    @shmulful9 жыл бұрын

    Володя привет, а может как будет время и про рекурсию сделаешь видео - у тебя получается все очень доходчиво - думаю многим будет интересно - начинающим =)

  • @VladimirMozhenkov

    @VladimirMozhenkov

    9 жыл бұрын

    Sasha Gedz 26-го января 2014-го года был днём, когда я предсказал ваше пожелание: kzread.info/dash/bejne/ZY2WtLefmKzMYMo.html

  • @shmulful

    @shmulful

    9 жыл бұрын

    блин, я невнимательный подписчик =), иду смотреть - спасибо !

  • @thomasmorgan9043
    @thomasmorgan90439 жыл бұрын

    За функцию f (которая возвращает 5) могу сказать, что компиляторы стали очень умные и писать можно как угодно (компилятор вообще может сразу поставить значение 5 вместо вызова). Если рассматривать первый вариант как действительно функцию, то нужно отметить, что result создастся на стеке, а 5 - immediate value (непосредственное значение), возврат будет не где-то в неизвестной ячейки, а в регистре eax. А вообще лучше пример такой: std::vector v; v.push_back(new MyClass()); v.push_back(new MyClass()); .... и т. д Володь, если не трудно запишите пару начальных видео по интеллекту, нейронным сетям и т. д. и литературой. Буду признательно благодарен.

  • @VladimirMozhenkov

    @VladimirMozhenkov

    9 жыл бұрын

    Thomas Morgan Будут уроки по ИИ... на грядущей неделе, если всё пойдёт нормально (должен был быть записан первый сегодня, но пришлось идти к зубному, сейчас еле говорить могу, так что урока не получилось-бы). Чтобы пустить слюни могу сказать, что написал небольшое приложение, хотелось вспомнить вещи изучаемые мною в универе. Не плохо получилось. К тому-же новое для себя узнал. В приложении робот бегает по полю и находит людей, чтобы потом начать их убивать... такая пост-аппокалиптическая игра, которая сама себя проигрывает...

  • @professorbis7530

    @professorbis7530

    9 жыл бұрын

    Vladimir Mozhenkov наконец то =))

  • @YanPashkovsky
    @YanPashkovsky8 жыл бұрын

    Я так понимаю в плюсах анонимные объекты и rvalue объекты - одно и то же?

  • @user-jh2hj4bi2l

    @user-jh2hj4bi2l

    8 жыл бұрын

    так Rvalue же могут иметь имена. int a, b; b=5; a=b; в 3й есть имя, которое может быть использовано в скоупе и это rvalue. анонимные объекты, здесь имелось в виду, это указатели, которые в некоторый момент времени могут быть либо использованы, либо именованы. например если у нас описан класс MyInt() и мы пишем функцию, которая будет ждать MyInt() и у нас будет конструктор нашего класса, где будем ждать обычный инт, то можно сделать при вызове foo(new MyInt(1), new MyInt(2), new MyInt(3)); 3 указателя на объекты, которые мы передали были анонимными. или вообще MyInt f1() {return new MyInt(1);} и потом foo (f1(), f1(), f1()); foo получила 3 объекта и будет пользоваться именами, которые были указаны в её определении^W сигнатуре внутри себя.

  • @maxlich9139
    @maxlich91396 жыл бұрын

    Так это было всё про язык си с плюсами?

  • @eugenenalivkin8961
    @eugenenalivkin89612 жыл бұрын

    Володя врёт, он не Володя! Он Исус, и он учит вас ООП, теперь мы программисты от бога.

  • @wow_wow
    @wow_wow8 жыл бұрын

    не распускайте волосы, не красиво