Delphi vs C++ vs C#
, ну и Java немножко, где-то ближе к старшему байту номеров страниц
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
| ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
| [216.73.216.156] |
|
|
Правила раздела:
| Страницы: (495) « Первая ... 182 183 [184] 185 186 ... 494 495 ( Перейти к последнему сообщению ) |
Delphi vs C++ vs C#
, ну и Java немножко, где-то ближе к старшему байту номеров страниц
|
Сообщ.
#2746
,
|
|
|
|
![]() ![]() template <typename T> class bla_bla { void foo(T obj); void bar(T obj) { if (obj::ImAClass) foo(obj.Clone()); else foo(obj); } }; |
|
Сообщ.
#2747
,
|
|
|
|
Цитата Qraizer @ Тебя не удивляет, что double передаётся параметру, имеющему тип int? Вот кривизна-то, он оказывается при этом срезается... Не удивляет. Да, кривизна, из той же оперы. Даже в С# такого безобразия нет. ![]() Остальной батхёрт, с твоего позволения, проигнорирую, т.к. всё не в кассу |
|
Сообщ.
#2748
,
|
|
|
|
Цитата Qraizer @ Про обобщенное программирование - отдельные товарищи(не будем тыкать в них пальцем) тебя не поймут. Инопланетная технология. А-а-а!!! Фтопку. |
|
Сообщ.
#2749
,
|
|
|
|
Как мне надоело одно и тоже с переодичностью раз в месяц писать. Ладно. Ещё раз. Есть объект, порождённый из типа... ну скажем some_type. Он имеет следующее поведение:
![]() ![]() some_type some_obj; some_obj = 1; print(some_obj);\\в консоль 1 some_obj = 2; print(some_obj);\\в консоль 2 ![]() ![]() void foo(some_type some_obj) { some_obj = 2; } ... some_obj = 1; foo(some_obj); print(some_obj); |
|
Сообщ.
#2750
,
|
|
|
|
Цитата Qraizer @ korvin мыслит эвклидово, теми аксиомами, которые вычитал. Ему не докажешь, что геометрия нашего мира вообще-то неэвклидова. Это не просто заметить, а он ещё и не хочет. вовсе нет, практика показывает, что C++ -- белая ворона, с какими-то своими, особыми понятиями |
|
Сообщ.
#2751
,
|
|
|
|
Цитата trainer @ Про обобщенное программирование - отдельные товарищи(не быдем тыкать в них пальцем) тебя не поймут. Инопланетная технология. Технология хорошая, реализация в С++ - мягко говоря, не очень Добавлено Повстанець, вот теперь я понял, что ты имеешь в виду. Да, в шарпе надо знать, ссылочный тип или нет. |
|
Сообщ.
#2752
,
|
|
|
|
Цитата Повстанець @ В языках со ссылочными типами я всегда ожидаю 2. И это нормально. нет, ты путаешь ссылочный тип и передачу по ссылке |
|
Сообщ.
#2753
,
|
|
|
|
Цитата IL_Agent @ Давай поговорим о обобщённом программировании в С++. Чем конкретно не нравится реализация? Технология хорошая, реализация в С++ - мягко говоря, не очень ![]() Добавлено Цитата korvin @ Я думаю все поняли, что конкретно я имею ввиду. нет, ты путаешь ссылочный тип и передачу по ссылке |
|
Сообщ.
#2754
,
|
|
|
|
Цитата Повстанець @ Давай поговорим о обобщённом программировании в С++. Чем конкретно не нравится реализация? Ограниченностью и write-only (см. boost). |
|
Сообщ.
#2755
,
|
|
|
|
Цитата IL_Agent @ Краткость - не твоя сестра?Ограниченностью и write-only (см. boost) Зачем смотреть в boost, а не в его документацию? В C# без ковыряния в исходниках библиотек программировать невозможно? |
|
Сообщ.
#2756
,
|
|
|
|
Цитата Повстанець @ Я думаю все поняли, что конкретно я имею ввиду. а, ок |
|
Сообщ.
#2757
,
|
|
|
|
trainer, про написание речь, а не про использование.
|
|
Сообщ.
#2758
,
|
|
|
|
Цитата IL_Agent @ Хорошо, про сложность шаблонных конструкций -- принимается. А ограниченность? Вот интересно, в чём тебя ограничивает полнотьюринговая система? Ограниченностью и write-only (см. boost). |
|
Сообщ.
#2759
,
|
|
|
|
Когда я говорил я имел в виду, что передача по ссылке (как в Java) ![]() ![]() void Func(Base& b) выглядит не так же. Лол? Как это не приводится? Функция получает ссылку на предка, а то, что там есть виртуальные методы - это другой вопрос. Так что ссылка на потомка всё же приводится к ссылке на предка. Покажите мне передачу по значению экземпляра класса в Java. Такая же чушь, как про джаву. В плюсах ссылка на потомка приводится к ссылке на предка. Наличие виртуальных методов тут ни при чём. Ещё одна чушь незнающего плюсы. Я уже имел честь объяснить IL_Agent'у: в обсуждаемом фрагменте происходит приведение ссылки на потомка к ссылке на предка (что нормально, как я чуть выше объяснял), а уже потом - вызов конструктора копирования предка, который IL_Agent не запретил, но утверждает, что это вина языка. Так что система типов тут ни при чём: в коде написано, что передавать необходимо по значению, что и происходит. |
|
Сообщ.
#2760
,
|
|
|
|
Цитата Flex Ferrum @ Да и в паскале/делфи не предусмотрено никаких специальных конструкций для передачи аргументов, принимаемых функцией как var. Наверное потому, что ссылки в "чистом" виде там не встречаются Скрытый текст Цитата Qraizer @ korvin мыслит эвклидово, теми аксиомами, которые вычитал. Ему не докажешь, что геометрия нашего мира вообще-то неэвклидова. Цитата korvin @ вовсе нет, практика показывает, что C++ -- белая ворона, с какими-то своими, особыми понятиями Не ищем мы никого, кроме людей. Не нужно нам других миров. Нам нужно зеркало (с) Солярис Цитата trainer @ Про обобщенное программирование - отдельные товарищи(не будем тыкать в них пальцем) тебя не поймут. Инопланетная технология. |