powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / С# - жалкое подобие С++
25 сообщений из 352, страница 13 из 15
С# - жалкое подобие С++
    #34930281
daevaorn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Алексей К LordMAD Алексей КНука, нука, где там в стандарте есть ключевое слово override???А проблема в том, что нужно именно это слово?Да
зачем?
...
Рейтинг: 0 / 0
С# - жалкое подобие С++
    #34930286
LordMAD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей К LordMAD Алексей КНука, нука, где там в стандарте есть ключевое слово override???А проблема в том, что нужно именно это слово?ДаЧтобы было больше проблем при рефакторинге, связанном с выделением нового предка?
...
Рейтинг: 0 / 0
С# - жалкое подобие С++
    #34930404
Фотография cap83
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей К egorych Bigger Алексей КДаже не знаю, стоит ли тут упоминать о скорости компиляции С++ и о том, как это влияет на скорость разработки в целом.

Скорость компиляции влияет на скорость разработки - это 5 ну они-же хидеров руками не набирают... кучу времени съэкономили на этом - стала влиять скорость компиляцииА теперь помнож среднее время компиляции на количество компиляций в день (неделю, месяц) и покажи эти цифры своему начальнику, умник. И скажи ему, что всё это время ты сидишь на работе, и тупо ничего не делаешь.
SpookiДа ну, какие споры. Этож детсад.
Понятно, что программы пишут в моем понимание программисты (это С/C++), а остальные это асу с элементами программирования на всяком кале."Что это было???" (с) Особенности ...

Компиляцию можно распараллелить ... С линковкой проблемм больше
...
Рейтинг: 0 / 0
С# - жалкое подобие С++
    #34930463
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LordMAD Алексей К LordMAD Алексей КНука, нука, где там в стандарте есть ключевое слово override???А проблема в том, что нужно именно это слово?ДаЧтобы было больше проблем при рефакторинге, связанном с выделением нового предка?Чтобы можно было явно указать, что я хочу именно перекрыть виртуальную функцию базового класса, и чтобы компилятор контролировал чтот процесс.
...
Рейтинг: 0 / 0
С# - жалкое подобие С++
    #34930469
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Опять же расстраивает отсутствие base. Приходится писать в классе приватный

typedef <Имя базового класса> base;

В противном случае при смене базового класса сами понимаете что может произойти. Ну и указатели на нестатические функции, есть они где-нибудь кроме С++ Builder?
...
Рейтинг: 0 / 0
С# - жалкое подобие С++
    #34930471
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LordMADЧтобы было больше проблем при рефакторинге, связанном с выделением нового предка?Какие проблемы?
...
Рейтинг: 0 / 0
С# - жалкое подобие С++
    #34930513
LordMAD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КОпять же расстраивает отсутствие base. Приходится писать в классе приватный

typedef <Имя базового класса> base;

В противном случае при смене базового класса сами понимаете что может произойти.Ты только умолчал про:
typedef <Имя базового класса 1> base1;
typedef <Имя базового класса 2> base2;

Алексей КНу и указатели на нестатические функции, есть они где-нибудь кроме С++ Builder?Они есть в стандарте C++
...
Рейтинг: 0 / 0
С# - жалкое подобие С++
    #34930522
LordMAD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей К LordMADЧтобы было больше проблем при рефакторинге, связанном с выделением нового предка?Какие проблемы?Писать автоматом override или не писать.
...
Рейтинг: 0 / 0
С# - жалкое подобие С++
    #34930639
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LordMAD Алексей КОпять же расстраивает отсутствие base. Приходится писать в классе приватный

typedef <Имя базового класса> base;

В противном случае при смене базового класса сами понимаете что может произойти.Ты только умолчал про:
typedef <Имя базового класса 1> base1;
typedef <Имя базового класса 2> base2;
Ты меня не понял. Имеется ввиду именно указание предыдущего класса в иерархии наследования, относительно текущего. Часто требуется при вызове виртуальных функций. Если в данном случае не использовать typedef при смене базового класса придётся менять все ссылки на него. Их может быть довольно много.
LordMAD Алексей КНу и указатели на нестатические функции, есть они где-нибудь кроме С++ Builder?Они есть в стандарте C++Почему тогда "это" в С++ Builder сделано через модификатор __closure, которого нет в стандарте?
...
Рейтинг: 0 / 0
С# - жалкое подобие С++
    #34930648
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LordMAD Алексей К LordMADЧтобы было больше проблем при рефакторинге, связанном с выделением нового предка?Какие проблемы?Писать автоматом override или не писать.Представьте ситуацию, когда в базовом классе после рефакторинга пропадает виртуальная функция, которая была перекрыта в производных классах. В C# в данной ситуации компилятор выдаст ошибку. В С++ компилятор "схавает" такой код.
...
Рейтинг: 0 / 0
С# - жалкое подобие С++
    #34930652
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хотим перекрыть виртуальную функцию и ошибаемся в одной букве. Тоже может быть довольно неприятно.
...
Рейтинг: 0 / 0
С# - жалкое подобие С++
    #34930657
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LordMADПосмотрите по той ссылке, которую я давал ранее, softwarer на примере Delphi привел несколько типичных примеров. В С# имеются аналогичные возможности.
...
Рейтинг: 0 / 0
С# - жалкое подобие С++
    #34930672
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И, если я не ошибаюсь, в С++ нельзя сделать так
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
public class A
{
   public virtual void Func()
   {
   }
}

public class B : A
{
   public new virtual Func()
   {
   }
}
...
Рейтинг: 0 / 0
С# - жалкое подобие С++
    #34930675
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
void забыл написать...
...
Рейтинг: 0 / 0
С# - жалкое подобие С++
    #34930772
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей К LordMAD Алексей КНу и указатели на нестатические функции, есть они где-нибудь кроме С++ Builder?Они есть в стандарте C++Почему тогда "это" в С++ Builder сделано через модификатор __closure, которого нет в стандарте?Хотя нет, есть . Нету указателей на функцию-член произвольного класса.
...
Рейтинг: 0 / 0
С# - жалкое подобие С++
    #34930776
У
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
У
Гость
Алексей К LordMAD Алексей КОпять же расстраивает отсутствие base. Приходится писать в классе приватный

typedef <Имя базового класса> base;

В противном случае при смене базового класса сами понимаете что может произойти.Ты только умолчал про:
typedef <Имя базового класса 1> base1;
typedef <Имя базового класса 2> base2;
Ты меня не понял. Имеется ввиду именно указание предыдущего класса в иерархии наследования, относительно текущего. Часто требуется при вызове виртуальных функций. Если в данном случае не использовать typedef при смене базового класса придётся менять все ссылки на него. Их может быть довольно много.

Какого из них...
Речь идет о множественном наследовании
Ах, ну да, в C++ Builder его же нет, если оставаться в рамкам иерархии VCL
...
Рейтинг: 0 / 0
С# - жалкое подобие С++
    #34930783
LordMAD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей К LordMAD Алексей КОпять же расстраивает отсутствие base. Приходится писать в классе приватный

typedef <Имя базового класса> base;

В противном случае при смене базового класса сами понимаете что может произойти.Ты только умолчал про:
typedef <Имя базового класса 1> base1;
typedef <Имя базового класса 2> base2;
Ты меня не понял. Имеется ввиду именно указание предыдущего класса в иерархии наследования, относительно текущего. Часто требуется при вызове виртуальных функций. Если в данном случае не использовать typedef при смене базового класса придётся менять все ссылки на него. Их может быть довольно много.Это ты меня не понял - я имею в виду множественное наследование.
Алексей К LordMAD Алексей КНу и указатели на нестатические функции, есть они где-нибудь кроме С++ Builder?Они есть в стандарте C++Почему тогда "это" в С++ Builder сделано через модификатор __closure, которого нет в стандарте?__closure - это не указатель на метод; это указатель на метод в конкретном экземпляре класса. Фактически это два указателя, один - на метод, другой на экземпляр класса. Просто чуть более простая форма записи, чем то, что есть в стандарте
...
Рейтинг: 0 / 0
С# - жалкое подобие С++
    #34930787
LordMAD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей К LordMADПосмотрите по той ссылке, которую я давал ранее, softwarer на примере Delphi привел несколько типичных примеров. В С# имеются аналогичные возможности.По какой конкретно ссылке?
...
Рейтинг: 0 / 0
С# - жалкое подобие С++
    #34930788
LordMAD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КНету указателей на функцию-член произвольного класса.Есть.
...
Рейтинг: 0 / 0
С# - жалкое подобие С++
    #34930790
LordMAD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КХотим перекрыть виртуальную функцию и ошибаемся в одной букве. Тоже может быть довольно неприятно.Довольно неприятно можно сделать много в чем, если ошибаться в буквах. А если у предка есть method1 и method2, а ты в наследнике переопределил method2, хотя хотел method1 - тоже ошибся в одном символе. Это не более чем представляющая чисто теоретичекий интерес возможность проследить, а не сделал ли программист такую вот довольно редкую ошибку, при том, что используется для создания исходников, видимо, Блокнот. Любая совеременная ide позволяет подставлять не только правильно имя, но и набор параметров из предка при переопределнии метода в наследнике - короче вручную это никто не делает, так что ошибок такого рода и не возникает. Другой вопрос - если в той же среде ты пытаешься вынести часть методов в предка (нового, существующего и пр. - не важно) - среда будет обязана изменить потомка (из virtual в override) - вот тут начинаются фокусы...
...
Рейтинг: 0 / 0
С# - жалкое подобие С++
    #34930794
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LordMAD Алексей КНету указателей на функцию-член произвольного класса.Есть. Вот , вспомнил как там что. :-)) Ужос кароче, самое то студентов на лекциях пугать.
LordMAD Алексей К LordMADПосмотрите по той ссылке, которую я давал ранее, softwarer на примере Delphi привел несколько типичных примеров. В С# имеются аналогичные возможности.По какой конкретно ссылке?Тут LordMADЭто ты меня не понял - я имею в виду множественное наследование.Ах да, точно, тут ведь множественное наследование. :-))
...
Рейтинг: 0 / 0
С# - жалкое подобие С++
    #34930814
LordMAD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КПредставьте ситуацию, когда в базовом классе после рефакторинга пропадает виртуальная функция, которая была перекрыта в производных классах. В C# в данной ситуации компилятор выдаст ошибку. В С++ компилятор "схавает" такой код.
Позволю себе процитировать :
ВикипедияРефакторинг - процесс полного или частичного переписывания компьютерной программы или другого материала, с целью добиться улучшения читаемости кода и общей внутренней структуры компонентов, при полном и точном сохранении изначального смысла и поведения
Это вопрос адекватности проведения рефакторинга. Язык не обязан брать на себя контроль за адекватностью ide, IMHO.
...
Рейтинг: 0 / 0
С# - жалкое подобие С++
    #34930821
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
С другой стороны, компилятор должен по возможности указывать на явные ошибки.
...
Рейтинг: 0 / 0
С# - жалкое подобие С++
    #34930831
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LordMADЭто вопрос адекватности проведения рефакторинга. Язык не обязан брать на себя контроль за адекватностью ide, IMHO.Возможна ситуация, что базовый класс находится в другом проекте, например разрабатывается под заказ в другой организации. В случае с С# "заказчик" при перекомпиляции сразу заметит проблему. В С++ ошибка может вылезти в самый неподходящий момент. Это я к тому, что в данном случае опираться на средства IDE невозможно.
...
Рейтинг: 0 / 0
С# - жалкое подобие С++
    #34931309
Bigger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей К goodbit Gluk (Kazan)
Кстати, у C++ масса недостатков, но в этой теме они не озвучивались
Озвучь, будь добр.
Сам люблю плюсы, но работаю на шарпе.А надо? Обсуждалось уже. Отсутствие override, base, свойств, указателей на нестатические функции (в С++ Builder такое есть, но неуверен что в других реализациях С++ это есть) и т. д. и т. п.

Алексей почитайте стандарт языка, а то как то глупо выражаетесь. Скорость разработки не зависит от скорости компиляции, скорость разработки зависит от разработчика и используемых библиотек, а также знаний разработчика. Перегружаемые функции, виртуальные функции это ж родное плюсовое. Вы ещё скажите что абстрактных классов в плюсах нет. Вы с С++ разбираться пробывали, а оно по рукам надавало? Я писал и пишу на плюсах, диезе и даже на T-Sql. Везде свои фичи. На диезе очень удобно делать стандартные вещи, но шаг в сторону - и лучше застрелиться.
...
Рейтинг: 0 / 0
25 сообщений из 352, страница 13 из 15
Форумы / Программирование [игнор отключен] [закрыт для гостей] / С# - жалкое подобие С++
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]