Delphi vs C++ vs C#
, ну и Java немножко, где-то ближе к старшему байту номеров страниц
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
| ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
| [216.73.216.192] |
|
|
Правила раздела:
| Страницы: (495) « Первая ... 130 131 [132] 133 134 ... 494 495 ( Перейти к последнему сообщению ) |
Delphi vs C++ vs C#
, ну и Java немножко, где-то ближе к старшему байту номеров страниц
|
Сообщ.
#1966
,
|
|
|
|
Брр... Ладно, чувствую тут слишком разная терминология. Надо бы покопаться в источниках Цитата Какие данные у цифры 1? Причем тут литерал? ![]() ![]() int x = 1; Вот тут у переменной типа данных int 1 является "данными". |
|
Сообщ.
#1967
,
|
|
|
|
Цитата D_KEY @ Причем тут литерал? ![]() ![]() int x = 1; Вот тут у переменной типа данных int 1 является "данными". ну а тут ![]() ![]() function y (Integer x) : Integer; begin Result := x + 1; end; У переменной y типа данных "function (Integer) : Integer" данными является функция ![]() ![]() function (Integer x) : Integer; begin Result := x + 1; end; |
|
Сообщ.
#1968
,
|
|
|
|
Цитата korvin @ Цитата D_KEY @ Причем тут литерал? ![]() ![]() int x = 1; Вот тут у переменной типа данных int 1 является "данными". ну а тут ![]() ![]() function y (Integer x) : Integer; begin Result := x + 1; end; У переменной y типа данных "function (Integer) : Integer" данными является функция ![]() ![]() function (Integer x) : Integer; begin Result := x + 1; end; В общем-то ты прав, но в таких императивных языках, как Delphi и C++, такая точка зрения несколько противоречит языковой идеологии... Все-таки это, как не крути, routines... Да и не так это важно. Как бы там ни было, но в общем случае, тип - это скорее описание возможных состояний и интерфейса объекта, а не множество значений, как в случае с "типом данных". |
|
Сообщ.
#1969
,
|
|
|
|
почему противоречит? Может не так удобно ими пользоваться в таком ключе, но вполне можно и ситуация улучшается
Добавлено "тип" и "тип данных" -- синонимы, не бывает просто типов, бывают типы чего-то, а "данные" -- это просто общее название этого "что-то" |
|
Сообщ.
#1970
,
|
|
|
|
Цитата korvin @ "тип" и "тип данных" -- синонимы, не бывает просто типов, бывают типы чего-то, а "данные" -- это просто общее название этого "что-то" В контексте нашего разговора это понятия разные. Под "типом" понимается то, что понимается под типом некоторого объекта в программировании(в ООП в частности), т.е. возможные состояния и интерфейс, а под "типом данных" - типы, которые могут быть представлены, как множество значений. |
|
Сообщ.
#1971
,
|
|
|
|
нет, любые типы являются множеством значений, не важно как это множество задано
|
|
Сообщ.
#1972
,
|
|
|
|
Цитата korvin @ нет, любые типы являются множеством значений, не важно как это множество задано В теории - да. В ООП и обсуждаемых языках - нет. ![]() ![]() class A { virtual void f() = 0; }; Какое множество значений у данного типа? А ![]() ![]() class A { public: void f(); private: int x; }; ![]() ![]() class A { public: void g(); private: int x; }; Эквивалентные типы? Добавлено Хотя ты прав, у нас тут не совсем корректная терминология... |
|
Сообщ.
#1973
,
|
|
|
|
1) пустое. Но я уже говорил, что тип при отсутствии объектов этого типа не имеет смысла. Так что это не тип, а просто абстрактный класс
2) а ты скомпилируй и узнаешь =) (это намек на недостаточность данных для ответа) Добавлено неабстрактные классы порождают либо конечное множество равное кортежу полей класса, если идентичность определяется идентичностью полей (т.е. без учета разного размещения в памяти) либо формально бесконечное множество |
|
Сообщ.
#1974
,
|
|
|
|
Ты привел ссылку на англ. вариант, того же источника что приводил я. В чем подвох? Цитата korvin @ не надо, а то KILLER совсем свихнется, узнав, что "тип данных" сам может являться "данным" какого-то типа (метатипа) =) korvin, свихнешься наверное ты, за меня не переживай, я не свихнусь, ибо это не противоречит тому чего я тут тебе рассказывал... По твоей ссылке, много буков, откуда начинать читать, или цитату приведи, к чему ты эту ссылку привел. |
|
Сообщ.
#1975
,
|
|
|
|
korvin, т.е. ты считаешь, что множество операций(интерфейс) не относятся к типу в программировании?
|
|
Сообщ.
#1976
,
|
|
|
|
в том что есть отличия между англовикой и русской викой. Найдешь сам?
|
|
Сообщ.
#1977
,
|
|
|
|
Цитата korvin @ "тип" и "тип данных" -- синонимы, не бывает просто типов, бывают типы чего-то, а "данные" -- это просто общее название этого "что-то" Тогда, может объяснишь, почему в Гарвардской архитектуре на x86 моя ![]() ![]() int f(int i) { return i - 1; } Попадет в кеш инструкций, а не в кеш данных? |
|
Сообщ.
#1978
,
|
|
|
|
Цитата korvin @ Так что это не тип, а просто абстрактный класс ![]() ![]() void f(A &a) { a.f(); } Принимаем по ссылке объект, одним из типов которых является A и вызываем соответствующий метод. |
|
Сообщ.
#1979
,
|
|
|
|
Цитата D_KEY @ korvin, т.е. ты считаешь, что множество операций(интерфейс) не относятся к типу в программировании? к типу - нет, к реализации значений типа - да. |
|
Сообщ.
#1980
,
|
|
|
|
Цитата korvin @ в том что есть отличия между англовикой и русской викой. Найдешь сам? Формулировка отличается??? Или где отличие, м.б. я англ. вариант не так перевел ? Англ. вариант из вики. Цитата In computer programming, a data type (or datatype) is a classification identifying one of various types of data, such as floating-point, integer, or Boolean, that determines the possible values for that type; the operations that can be done on that type; and the way the values of that type are stored.[1] Русский вариант из вики Цитата Тип данных — фундаментальное понятие теории программирования. Тип данных определяет множество значений, набор операций, которые можно применять к таким значениям и, возможно, способ реализации хранения значений и выполнения операций. Любые данные, которыми оперируют программы, относятся к определённым типам. Цитата korvin @ Найдешь сам? Все читать мне лень, ибо я работаю паралельно, в этих двух циатах не вижу противоречий |