|
63 / 35 / 13
Регистрация: 21.10.2010
Сообщений: 538
|
|
Указатель на объект-тип08.01.2013, 11:40. Показов 9006. Ответов 34
Метки нет (Все метки)
Здравствуйте, у меня не то чтобы вопрос, скорее прощу уточнить прав ли я.
У любого ссылочного объекта есть к тому же 2 дополнительных поля: указатель на объект-тип и индекс блока синхронизации. Но про значимые типа я ничего не нашел, хотя ведь по логике значимые типы, определенные программистом должны иметь указатель на объект-тип. Заранее спасибо!
0
|
|
| 08.01.2013, 11:40 | |
|
Ответы с готовыми решениями:
34
Указатель на ссылочный тип
|
|
136 / 138 / 18
Регистрация: 26.07.2010
Сообщений: 911
|
|||
| 09.01.2013, 12:51 | |||
|
Если у структуры нет ссылки на объект тип, значит объект тип ее вообще не используется иначе мы могли бы создать статическую структуру. Добавлено через 4 минуты А если бы существовал объект тип, то мы бы обращались к нему, что бы задействовать общие методы.
0
|
|||
|
Master of Orion
|
|
| 09.01.2013, 12:52 | |
|
n1l, есть структура char. У этой структуры есть метод GetNumericValue. Это не метод экземпляра структуры, это метод самой структуры. Вопрос: как это возможно, если, как вы говорите, у структуры нет объекта-типа? Второй вопрос: допустим, вы переопределили операции присваивания, приведения и пр, вопрос: как компилятор выполнит приведение (CustomStruct) new int[10] , если оператор приведения описан в структуре, к которй нет доступа?
Вы никогда не вызывали int.Parse()? Или по-вашему это метод объекта? Тогда бы он вызывался через точку "12".Parse(); Еще раз структура == класс с некоторыми ограничениями, но он по сути ничем не отличается, Кроме того, что располагает объекты в стеке! У неё есть статические поля, статические методы, конструкторы, нету только возможности создать статическую структуру, потому что уже есть конструкция, выполняющая эту задачу - статический класс? Может ввести еще construct, record, еще что-нибудь, делающее то же самое, что и класс, но зато приятней для глаз?
0
|
|
|
136 / 138 / 18
Регистрация: 26.07.2010
Сообщений: 911
|
||
| 09.01.2013, 12:57 | ||
|
Так вот я об этом и говорил в начале. Как возможно создать статический метод в структуре если она не имеет указателя на объект тип?
Для всех структур говорите? А как же таблица методов? Просто ссылка для метода которая подается для всех структур. Вы понимаете, что я сейчас бравирую вашими словами а вы моими? Добавлено через 1 минуту Если хотя бы поле у структуру хранило ссылку на массив, а то вы ссылку на массив приводите к типу структуры.
0
|
||
|
Master of Orion
|
||||||
| 09.01.2013, 13:01 | ||||||
|
n1l, да легко, достаточно описать необходимое приведение.
например у структуры 10 полей и она делает
0
|
||||||
|
136 / 138 / 18
Регистрация: 26.07.2010
Сообщений: 911
|
|||
| 09.01.2013, 13:04 | |||
|
"12".Parse(); - это объект типа string.
И что по вашему? Если есть у метода ключевое слово static то значит у структуры есть объект-тип? Я же опять говорю, что вашими словами бравирую. Зачем структуре объект-тип если она может получить ссылку на общий метод в таблице методов без него? Добавлено через 1 минуту Добавлено через 46 секунд
0
|
|||
|
136 / 138 / 18
Регистрация: 26.07.2010
Сообщений: 911
|
||
| 09.01.2013, 13:21 | ||
|
vmt А еще вы понимаете, что такое упаковка и распаковка? Я понимаю так, что при упаковке мы будем иметь дело уже с классом, а не структурой, а у класса уже будет объект-тип. Тогда как структура всего лишь облегченная реализация для часто используемых типов. Нельзя рассматривать статические методы структуры после упаковки в контексте этого спора. Нужно рассматривать как раз таки до. Т.е. когда она находится в стеке и время жизни ее ограничено временем выполнения метода.
0
|
||
|
Master of Orion
|
|
| 09.01.2013, 13:31 | |
|
n1l, я попросил своими словами, ну да ладно.
VMT есть таблица методов класса, а не просто висящие в воздухе функции а-ля С++ Упаковка и распаковка - это просто трюк, позволяющий работать со структурами по ссылке. Структура есть Класс. По всем параметрам. Кроме одного: элементы структуры находятся в стеке. Во всем остальном они идентичны. У них все абсолютно одинаково. Конечно не все так радикально, но отличия к предмету спора отношения не имеют: структуры, это класс, для которого прописано хранение в стеке и хитрое слово.
0
|
|
|
136 / 138 / 18
Регистрация: 26.07.2010
Сообщений: 911
|
||
| 09.01.2013, 13:53 | ||
|
Я вот сейчас обратился опять к Джефри Рихтеру и все таки я был не прав. Да у структур есть объект-тип и при упаковке к упакованной структуре добавляется ссылка на объект-тип и SyncBlockIndex. В принципе логично, у структур есть ссылки на общие методы для всего типа минуя объект-тип.
0
|
||
|
Master of Orion
|
||||
| 09.01.2013, 13:56 | ||||
|
n1l,
0
|
||||
|
136 / 138 / 18
Регистрация: 26.07.2010
Сообщений: 911
|
|
| 09.01.2013, 13:59 | |
|
0
|
|
|
136 / 138 / 18
Регистрация: 26.07.2010
Сообщений: 911
|
|
| 09.01.2013, 14:04 | |
|
0
|
|
|
4226 / 1799 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|
| 09.01.2013, 14:13 | |
|
0
|
|
|
Master of Orion
|
|
| 09.01.2013, 14:19 | |
|
taras atavin, в любом языке класс это такой же объект, как экзепляр этого класса. В Ruby можно даже искусственно уничтожить объект-класс какого-нибудь экземпляра и "наследовать" этот экземпляр в рантайме от какого-нибудь иного класса.
0
|
|
| 09.01.2013, 14:19 | |
|
Как получить указатель на управляемый объект? Недопустимый неполный тип , или как передать в функцию указатель на объект класса , или просто объект Что значит константный указатель на объект, указатель на константный объект, и как это можно использовать? Указатель на объект или указатель на метод объекта Как преобразовать ссылку на объект в указатель на этот объект? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Генератор паролей (вариант №4)
Maks 01.11.2026
После публикации 3-го варианта генератора паролей, разослал его своим коллегам (с целью оценки), в итоге были получены следующие рекомендации:
1. Вернуть возможность использования знаков | 1 l I;. . .
|
Генератор паролей (вариант №3)
Maks 30.10.2026
Финальная версия генератора паролей 1С.
Доработка решения в этот раз коснулась только визуальной части, а именно, добавлен реквизит ДопПараметры (тип Булево), который скрывает/ отображает реквизиты:. . .
|
Магическое мышление и магия, современная наука не отличима от магии (говорит ИИ Джемени)
zorxor 30.10.2026
Джемени, расскажи, пожалуйста, что такое магическое мышление, что такое магия, почему современная наука чем-то напоминает магию?
Фраза «Любая достаточно развитая технология неотличима от магии». . .
|
За какое время ИИ может подобрать пароль по хешу (рассказывает Джемени ИИ)
zorxor 30.10.2026
Расскажи, Джемени, если известен хэш МД5, например, за сколько ИИ сможет подобрать соответствующий пароль?
Искусственный интеллект (ИИ) может подобрать простой или средний по сложности пароль по. . .
|
|
Кто убил Suno? Почему наше солнышко погасло? (диалог с ИИ Джемени)
zorxor 30.10.2026
Как убивали Suno. Хронология.
«Убийство» музыкальной нейросети Suno — это затяжной процесс, в котором технологический хайп стартапа разбился о жесткую реальность судебных исков от гигантов. . .
|
Генератор паролей (вариант №2)
Maks 30.10.2026
Обновленная версия ранее созданной обработки.
Добавлены следующие реквизиты типа Булево:
- Буквы;
- Цифры;
- Символы.
Изменена логика команды "Сгенерировать" и процедуры "ПриОткрытии":. . .
|
Генератор паролей (вариант №1)
Maks 29.10.2026
Реализация из решения ниже выполнена исключительно по моей инициативе, дабы облегчить себе работу в создании паролей для администрируемых мною сервисов и пользователей.
Самым главным критерием для. . .
|
Установка ChatGPT (Codex) на Windows без использования Microsoft Store
Fabien159 28.10.2026
Здравствуйте всем читающим! Опишу процесс установки ChatGPT (Codex) на Windows, если по каким-то причинам у вас не получается устанавить его через Microsoft Store.
И так:
1. Скачиваем с. . .
|