Delphi vs C++ vs C#
, ну и Java немножко, где-то ближе к старшему байту номеров страниц
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
| ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
| [216.73.216.156] |
|
|
Правила раздела:
| Страницы: (495) « Первая ... 335 336 [337] 338 339 ... 494 495 ( Перейти к последнему сообщению ) |
Delphi vs C++ vs C#
, ну и Java немножко, где-то ближе к старшему байту номеров страниц
|
Сообщ.
#5041
,
|
|
|
|
Цитата IL_Agent @ Внутренние структуры компилятора, полученные в результате компиляции шаблонов, соответствуют некоторому плюсовому нешаблонному коду. Нет. |
|
Сообщ.
#5042
,
|
|
|
|
Ну метапрограммирование же, в той или иной степени. |
|
Сообщ.
#5043
,
|
|
|
|
Цитата IL_Agent @ Я про это и говорю. Внутренние структуры компилятора, полученные в результате компиляции шаблонов, соответствуют некоторому плюсовому нешаблонному коду. Препроцессору С тоже ничего не мешает так работать. Не мешает? Что, и "Войну и мир" между дефайнами распарсит и обратно в текстовый файлик сольёт? Вах, какой, однако, у вас сишный компиль! Дайте поюзать ![]() И, кстати, ничего, что вам справедливо заметили Цитата D_KEY @ А как препроцессор отличит инстанцирование от вызова нешаблонной функции, ведь разрешение перегрузки выполняется компилятором? Или разрешение перегрузки - это тоже препроцессор? Что, даже такого сирого и убогого? Вах-вах-вах... |
|
Сообщ.
#5044
,
|
|
|
|
Цитата IL_Agent @ Это всё рвно, что сказать, код полученный при компиляции классов соответствует некоторому, написанному на функциях с указателем на структуру в качестве первого параметра. Бред, короче. Внутренние структуры компилятора, полученные в результате компиляции шаблонов, соответствуют некоторому плюсовому нешаблонному коду. |
|
Сообщ.
#5045
,
|
|
|
|
Цитата Повстанець @ Это всё рвно, что сказать, код полученный при компиляции классов соответствует некоторому, написанному на функциях с указателем на структуру в качестве первого параметра. Бред, короче. Возьми dll и использую класс из неё, не имея исходников. |
|
Сообщ.
#5046
,
|
|
|
|
IL_Agent, что на счет разрешения перегрузки? Кто его выполняет?
|
|
Сообщ.
#5047
,
|
|
|
|
Цитата IL_Agent @ Причём тут длл? Если уж на то пошло, то ты и функцию не сможешь использовать из дллки не имея прототипов. Возьми dll и использую класс из неё, не имея исходников. |
|
Сообщ.
#5048
,
|
|
|
|
Цитата D_KEY @ IL_Agent, что на счет разрешения перегрузки? Кто его выполняет? Я же не утверждаю, что препоцессор - это обязательно стороннее независимое приложение. Может использоваться информация, полученная при компиляции. А может и сам частично функции компилятора выполнять. |
|
Сообщ.
#5049
,
|
|
|
|
Цитата Повстанець @ Причём тут длл? Если уж на то пошло, то ты и функцию не сможешь использовать из дллки не имея прототипов. Я почему-то подумал, что товарищ намекает на то, что плюсовый ABI, в отличие от сишного, не специфицирован. Ибо при использовании dll, собранной тем же компилятором, что и использующая её программа, исходники мне никогда не были нужны. Но вот только при чём тут ABI?... Ну, наверное, нам сейчас пояснят |
|
Сообщ.
#5050
,
|
|
|
|
Цитата IL_Agent @ Может использоваться информация, полученная при компиляции. Эм... То есть препроцессор работает после компилятора? |
|
Сообщ.
#5051
,
|
|
|
|
Цитата MyNameIsIgor @ Но вот только при чём тут ABI?... Хороший вопрос. Цитата MyNameIsIgor @ Ну, наверное, нам сейчас пояснят ![]() Пожалуй, не сейчас:D |
|
Сообщ.
#5052
,
|
|
|
|
Цитата IL_Agent @ Так может не будем руководствоваться догадками и своим ИМХО, а послушаем людей, которые знают, что происходит на самом деле? Я же не утверждаю, что препоцессор - это обязательно стороннее независимое приложение. Может использоваться информация, полученная при компиляции. А может и сам частично функции компилятора выполнять. |
|
Сообщ.
#5053
,
|
|
|
|
Цитата IL_Agent @ Может использоваться информация, полученная при компиляции. А может и сам частично функции компилятора выполнять. Чудесно - два неразделимых процесса, завязанных друг на друг. Может, вы дадите определение препроцессора? А то мы, похоже, его по-разному понимаем. Добавлено Цитата IL_Agent @ Пожалуй, не сейчас Т.е. мы так и не узнаем при чём здесь dll? Пичалька... |
|
Сообщ.
#5054
,
|
|
|
|
IL_Agent, думаешь я тебе врать буду
? Шаблоны не препроцессор. Вроде бы я сам так думал давно какое-то время...Иногда я думаю, что лучше бы в С++ действительно были нормальные макросы(в духе Nemerle) - их можно было бы считать "препроцессором" - и чуть менее сложные чем сейчас шаблоны(но не опущенные до уровня дженериков, естественно). Но это не так. |
|
Сообщ.
#5055
,
|
|
|
|
Цитата Qraizer @ Меняет и сильно. Шаблоны компилятся полностью (почти) в точке их определения. В точках использования (точнее инстанцирования, это не одно и то же) компилятор только досвязывает имена и выполняет кодогенерацию. эээ, а как же необходимость размещать нелокальные шаблоны в заголовочных файлах? |