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

แชร์
ฝัง
  • เผยแพร่เมื่อ 17 ก.ค. 2015
  • Анонимный объект - это что-то весьма простое, что почти все уже делали, но чего многие бояться. Надеюсь в этом видео развеять несколько мифов по поводу сложности этого подхода в программировании.

ความคิดเห็น • 15

  • @helga_volt
    @helga_volt 10 วันที่ผ่านมา +1

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

  • @user-jh2hj4bi2l
    @user-jh2hj4bi2l 8 ปีที่แล้ว

    хороший урок. Анонимные объекты мне очень часто были нужны как 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
    @shmulful 9 ปีที่แล้ว +1

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

    • @VladimirMozhenkov
      @VladimirMozhenkov  9 ปีที่แล้ว +2

      Sasha Gedz 26-го января 2014-го года был днём, когда я предсказал ваше пожелание: th-cam.com/video/3YbRUfhIf0g/w-d-xo.html

    • @shmulful
      @shmulful 9 ปีที่แล้ว

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

  • @user-se8yd8th5u
    @user-se8yd8th5u 8 ปีที่แล้ว +4

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

    • @maxlich9139
      @maxlich9139 6 ปีที่แล้ว +2

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

  • @thomasmorgan9043
    @thomasmorgan9043 9 ปีที่แล้ว

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

    • @VladimirMozhenkov
      @VladimirMozhenkov  9 ปีที่แล้ว +2

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

    • @professorbis7530
      @professorbis7530 9 ปีที่แล้ว

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

  • @maxlich9139
    @maxlich9139 6 ปีที่แล้ว

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

  • @YanPashkovsky
    @YanPashkovsky 8 ปีที่แล้ว +1

    Я так понимаю в плюсах анонимные объекты и 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 сигнатуре внутри себя.

  • @eugenenalivkin8961
    @eugenenalivkin8961 2 ปีที่แล้ว

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

  • @wow_wow
    @wow_wow 8 ปีที่แล้ว +1

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