На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела:
1. Название темы - краткое описание кто/что против кого/чего
2. В первом сообщении - список параметров, по которым идет сравнение.
3. Старайтесь аргументировать свои высказывания. Фразы типа "Венда/Слюникс - ацтой" считаются флудом.
4. Давайте жить дружно и не доводить обсуждение до маразма и личных оскорблений.
Модераторы: Модераторы, Комодераторы
Страницы: (495) « Первая ... 193 194 [195] 196 197 ...  494 495  ( Перейти к последнему сообщению )  
> Delphi vs C++ vs C# , ну и Java немножко, где-то ближе к старшему байту номеров страниц
    Цитата KILLER @
    Нет конечно, оно там автоматически вызывается в строго оговоренном порядке...

    А через двоеточие что пишете? Не конструктор предка?
      Цитата Romkin @
      В С++ объект это фактически структура
      Это везде так. Объект всегда из чего-то состоит.
      Цитата Romkin @
      в частности, доступа к приватной секции снаружи нет.
      К приватной секции чего нет доступа? Именно поэтому пришлось вводить секцию "мамой клянусь приватная"?
        Цитата Romkin @
        А через двоеточие что пишете? Не конструктор предка?

        Когда? Ты это наверное имеешь ввиду?:
        ExpandedWrap disabled
          class Base
          {
          public:
             Base()
             : a(10),
               b(20),
               c(30)
             {
             }
           
             int a;
             int b;
             int c;
          };
           
          class Derived: public Base
          {
          };
           
          int main(int argc, _TCHAR* argv[])
          {
             Derived d;
             std::cout << d.a << std::endl;
             std::cout << d.b << std::endl;
             std::cout << d.c << std::endl;
             return 0;
          }

        Или про конструктор какого предка ты говорил?
          Цитата Romkin @
          А через двоеточие что пишете? Не конструктор предка?
          И? В списке инициализации конструктора можно перечислять в произвольном порядке, на порядок инициализации это никак не влияет.
          Сообщение отредактировано: trainer -
            Цитата D_KEY @
            Т.е. решаем проблему кривой сборки мусора языковыми средствами?

            Нет. Причём тут кривизна ?

            Цитата D_KEY @
            Так что "проблем" оно тебе и не создаст - ибо авторы языка сделали так, что и не потребуется тебе сталкиваться с такими проблемами

            А вот авторы С++ не сделали так, чтобы не приходилось сталкиваться с проблемами :) Дженерики же может и умеют меньше, но зато делают это нормально (это к вопросу об обобщённом коде, который не напишешь).
            Сообщение отредактировано: IL_Agent -
              Цитата IL_Agent @
              А вот авторы С++ не сделали так, чтобы не приходилось сталкиваться с проблемами Дженерики же может и умеют меньше, но зато делают это нормально.

              С какими проблемами? С проблемами, что программист мало кушает каши, и не дожимает пару символов на клаве? А это разве проблема авторов С++ ? :wacko:
              Сообщение отредактировано: KILLER -
                Цитата KILLER @
                С проблемами, что программист мало кушает каши, и не дожимает пару символов на клаве?

                Ну да, например.
                Цитата KILLER @
                это разве проблема авторов С++ ? :wacko:

                Не знаю. Ты создал не очень удобный инструмент. Ты считаешь своей проблемой, что он не очень удобный ? :)
                  Цитата IL_Agent @
                  Не знаю. Ты создал не очень удобный инструмент. Ты считаешь своей проблемой, что он не очень удобный ?

                  Почему не очень удобный? Для меня очень даже удобно... Или где критерий удобства?
                  Почему для тебя любая логическая ошибка - это удобство, а эта логическая ошибка для тебя не удобство?
                    Цитата IL_Agent @
                    Не знаю. Ты создал не очень удобный инструмент. Ты считаешь своей проблемой, что он не очень удобный ? :)



                    Вот ты мне скажи. Представим код на шарпе:

                    ExpandedWrap disabled
                      public void Foo(String str)
                      {
                         str = "abcdef";
                      }
                       
                      public void Bar()
                      {
                         str = "cdefgh";
                         Foo(str);
                      };

                    Должно ли str, продекларированная в методе Bar измениться после вызова метода Foo? И если да, то почему?
                      Цитата Flex Ferrum @
                      Должно ли str, продекларированная в методе Bar измениться после вызова метода Foo? И если да, то почему?

                      Нет :)
                        Цитата IL_Agent @
                        Нет :)

                        Почему?

                        А так:
                        ExpandedWrap disabled
                          class FooClass
                          {
                          public void ModifyMe() { /* preform some modifications */;}
                          };
                           
                           
                          class BarClass
                          {
                          public void Foo(FooClass foo)
                          {
                             foo->ModifyMe();
                          }
                           
                          public void Bar()
                          {
                             FooClass foo;
                             Foo(foo);
                          }
                          }


                        foo в методе Bar измениться после вызова Foo? Если да/нет, то почему?
                          Цитата Flex Ferrum @
                          Почему?

                          Но я же не ответил "да" :)
                          Объект "cdefgh" мы не трогали. В foo мы создали новый объект "abcdef" и присвоили его переменной str из foo. Переменную str из Bar мы так же не трогали. И почему он должен меняться ?

                          Цитата Flex Ferrum @
                          foo в методе Bar измениться после вызова Foo? Если да/нет, то почему?

                          А здесь другая картина. В Foo вызывается метод, который меняет переданный объект. Вот передаю я тебе объект "кружка пива", ты вызываешь метод "выпить". У меня должна остаться полная кружка пива ? :)
                          Но это С++. Семантика значений. Тут, когда я передаю кружку, по умолчанию наливается новая :)
                            Цитата IL_Agent @
                            Но это С++. Семантика значений. Тут, когда я передаю кружку, по умолчанию наливается новая :)

                            Почему же? Речь шла о шарповом коде. Или по синтаксису не понятно?

                            Добавлено
                            Цитата IL_Agent @
                            А здесь другая картина.

                            Как-то не очень понятно. В одном случае так, в другом - сяк. Где логика? Как я могу сходу понять - объект, принимаемый функцией, обладает value- или ref-семантикой? Не видя объявления этого объекта?
                              Цитата IL_Agent @
                              А здесь другая картина. В Foo вызывается метод, который меняет переданный объект. Вот передаю я тебе объект "кружка пива", ты вызываешь метод "выпить". У меня должна остаться полная кружка пива ?

                              Ага, а ты почему не упомянул об этом?
                              Цитата IL_Agent @
                              Объект "cdefgh" мы не трогали. В foo мы создали новый объект "abcdef" и присвоили его переменной str из foo. Переменную str из Bar мы так же не трогали. И почему он должен меняться ?
                                Цитата Flex Ferrum @
                                Почему же? Речь шла о шарповом коде. Или по синтаксису не понятно?

                                ExpandedWrap disabled
                                   foo->ModifyMe();

                                Если это опечатка и ты имел в виду шарп, то да, изменится, потому что...[далее тот же текст].
                                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                0 пользователей:
                                Страницы: (495) « Первая ... 193 194 [195] 196 197 ...  494 495


                                Рейтинг@Mail.ru
                                [ Script execution time: 0.3377 ]   [ 15 queries used ]   [ Generated: 1.08.26, 03:50 GMT ]