
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[216.73.216.26] |
![]() |
|
Страницы: (117) « Первая ... 75 76 [77] 78 79 ... 116 117 ( Перейти к последнему сообщению ) |
Сообщ.
#1141
,
|
|
|
Моя тоже на проверке синтаксиса никаких вычислений не делает. ![]() Цитата archimed7592 @ Т.е. ты признаёшь, что есть вполне себе задача, которую невозможно рационально решить используя Дельфи? ![]() По-моему это только сишники отрицают ![]() Аргументы? DX удобно использовать благодаря нормальной системе интерфейсов. Расширять — не проблема. По сравнению с оригиналом DX уже значительно расширилось, есть различные дополнения. |
Сообщ.
#1142
,
|
|
|
Константным объектом обычно называется такой объект, внешнее (иначе говоря, видимое потребителями) состояние которого невозможно изменить путем внешних же воздействий. |
![]() |
Сообщ.
#1143
,
|
|
Цитата Romkin @ Стреляйся сам. По-твоему, я должен в тяпницу вечером разгребать твои закорючки, чтобы понять, что ты хотел сказать "В С++ правила константности соблюдаются и для динамических объектов."? Тху. По-моему: 1. Если не способен адекватно поддерживать беседу - не лезь в неё и т.о. не раздражай собеседников. 2. Если что-то не понимаешь, то спроси(как ты сделал это только сейчас), а не неси не относящийся к делу бред. То что на бутылку сока можно посмотреть и это не изменит её состояния(константный метод) или можно попить оттуда, что изменит её состояние(неконстантный метод). В С++ к константным объектам можно применять только константные методы. Более реальный пример: узнать размер контейнера - константный метод, добавить элемент/изменить элемент - неконстантный метод. Зачем это нужно объяснять? |
Сообщ.
#1144
,
|
|
|
Цитата Flex Ferrum @ Константным объектом обычно называется такой объект, внешнее (иначе говоря, видимое потребителями) состояние которого невозможно изменить путем внешних же воздействий. Объект класса. С константными полями. Правда, он в единственном числе будет. Оно? |
Сообщ.
#1145
,
|
|
|
Цитата Smike @ Моя тоже на проверке синтаксиса никаких вычислений не делает. Ну да. Только дерево строит. ![]() Цитата Smike @ Двойной парсинг уже стал быстрее, чем один парсинг и проход по дереву? Ну, положим, голую проверку синтаксиса я оставил исключительно в качестве иллюстрации того, что "если надо, то можно и так". Потому как вопрос надо ставить иначе - "одинопроходный парсер с вычислением" vs "однопроходный парсер с построением дерева + проход по построенному дереву разбора". Добавлено Цитата Romkin @ Объект класса. С константными полями. Правда, он в единственном числе будет. Оно? Может быть и оно, но почему в единственном числе? |
![]() |
Сообщ.
#1146
,
|
|
Цитата Smike @ Аргументы? DX удобно использовать благодаря нормальной системе интерфейсов. Расширять — не проблема. По сравнению с оригиналом DX уже значительно расширилось, есть различные дополнения. Ааа... COM - это очень сильно ориентированно на платформу. Скажи пожалуйста, зачем ориентировать геометрическую библиотеку на платформу? Её что, нужны какие-то платформозависимые фичи, чтобы нормально посчитать выпуклую оболочку? |
Сообщ.
#1147
,
|
|
|
Цитата Flex Ferrum @ Апхимед, Romkin, если вы и дальше продолжите дискутировать в подобном тоне, то стрелять буду уже я, и по обоим сразу. два на одного... не попянеш.. ![]() |
![]() |
Сообщ.
#1148
,
|
|
Цитата Romkin @ Объект класса. С константными полями. Правда, он в единственном числе будет. Оно? Всё таки надо объяснять зачем. Итак, есть ф-ция, которая как аргумент принимает контейнер, берёт из него данные и что-то на их основе делает, на сам контейнер не изменяет. Нормальный программист просит только ссылку на константный контейнер(ибо неконстантные методы ему просто не нужны). OTOH, если он попытается изменить состояние контейнера, то получит по лбу от компилятора. Теперь ситуация в Дельфи: я не знаю что делает ф-ция... Может быть она изменяет контейнер, может быть нет... Хз. Мне что, делать копию контейнера только потому что я не уверен в чистоплотности ф-ции? А если в контейнере миллион элементов? |
Сообщ.
#1149
,
|
|
|
Цитата Flex Ferrum @ Может быть и оно, но почему в единственном числе? Да можно и в множественном... А зачем несколько объектов, состояние которых неизменно? Вроде достаточно одного. Речь не об этом? ![]() ![]() TSClass = class private const FID = 'AAA'; public class function GetID: string; end; var Form9: TForm9; implementation class function TSClass.GetID: string; begin Result := FID; end; ... var SClass: TSClass; begin ShowMessage(TSClass.GetID); SClass := TSClass.Create; try ShowMessage(SClass.GetID); finally SClass.Free; end; end; |
Сообщ.
#1150
,
|
|
|
Цитата Romkin @ Речь не об этом? ![]() ![]() |
Сообщ.
#1151
,
|
|
|
Цитата archimed7592 @ сё таки надо объяснять зачем. Итак, есть ф-ция, которая как аргумент принимает контейнер, берёт из него данные и что-то на их основе делает, на сам контейнер не изменяет. Нормальный программист просит только ссылку на константный контейнер(ибо неконстантные методы ему просто не нужны). OTOH, если он попытается изменить состояние контейнера, то получит по лбу от компилятора. А. Вот теперь понятно ![]() Вроде бы такого нет, по крайней мере сейчас навскидку не скажу. |
Сообщ.
#1152
,
|
|
|
Цитата Romkin @ Речь идет об ограничении изменения в конкретной области видимости. не об ограничении.. а об отсуствии изменений. |
Сообщ.
#1153
,
|
|
|
Еще раз. Интерфейс в традиционном понимании (набор методов) эквивалентен абстрактному классу. Цитата trainer @ из известных и распространенных - к Java уже прикрутили шаблоны, на очереди вроде C# Не прикрутили. Генерики и шаблоны — это совсем разные вещи. Да, есть такие вещи. Иногда неудобно. Если говорить не про шаблоны, а про метапрограммирование времени компиляции, то в лиспе макросы помощнее шаблонов будут ![]() Цитата Smike @ ОК, как мне получить экземпляр "абстрактного класса" из класса, наследующегося от нескольких? То есть некое подобие QueryInterface. Просто. Люблй класс можно привести к базовому. Цитата Smike @ Меня не интересует, как реализован DirectX, я его могу использовать в любом языке программирования. Ужасно он реализован. И объемных вычислений там нету. И такой настраиваемости нету — точность вычислений низкая, только определенная модель действий. Вот тут-то и начинаются проблемы ![]() Хорошая аргументация ![]() |
![]() |
Сообщ.
#1154
,
|
|
Цитата Romkin @ Вроде бы такого нет, по крайней мере сейчас навскидку не скажу. Ой-ой-ой... Ну и язык ![]() |
Сообщ.
#1155
,
|
|
|
Цитата LuckLess @ не об ограничении.. а об отсуствии изменений. Ну да ну да. Подобное можно сделать с помощью интерфейсов (да-да, опять ![]() Можно, скорее всего, с помощью хелпера, но это уже для меня область еще неизведанная... |