![]() |
|
Модераторы: Daevaorn Страницы: (15) Все « Первая ... 4 5 [6] 7 8 ... Последняя »
( Перейти к первому непрочитанному сообщению ) |
![]()
|
|
| ДокторТуамОсес |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 242 Регистрация: 8.6.2009 Репутация: -4 Всего: -12 |
А в контексте компилятора означает много чего известность. Как минимум: 1) размер памяти, выделяемой под переменную 2) внутреннее представление ("указатель") 3) множество доп. операций, в которые может входить переменная ( к примеру нельзя переменной, являющейся указателем на void присвоить НЕПОСРЕДСТВЕННО значение типа int) Учитывая п1, ..., п3 делаем вывод, что переменная, описанная как указатель на void, имеет тип. --------------------
"Извините! А это ничего, что я говорю в тот момент, когда Вы меня перебиваете?"™ |
|||
|
||||
| Batbko |
|
||||
![]() Новичок Профиль Группа: Участник Сообщений: 40 Регистрация: 17.12.2010 Репутация: нет Всего: нет |
оператор не потерял свойство комутативности просто в выражении участвуют операнды для которых не определена верная перегрузка оператора отсюда и ошибка в закоментированном участке кода, которая может быть исправленна использованием outline определения оператора, т.е в качестве свободной функции. Но не будем о с++.Все ниже написанное это только моё понимание АТД . АТД должен предоставить набор операций с заданной раз и навсегда семантикой(которая в большинстве случаев задаеться в конкретной реализации ЯП) ака интерфейс. АТД должен предоставить своим реализациям интерфейс для изменения реализации, НО не семантики, операций. АТД должен предоставить возможность инкапсулировать конкретной реализации данные в любом доступном для хранения виде, и гарантировать доступность этих данных пользователю только через предоставляемые им интерфейсы. В очень общем виде любой тип данных используемых в ЯП это абстракция.Поясню: цпу, ну или гпу даже на уровне ассемблера предоставляют абстракции над физическими процессами происходящими в этих устройствах. Просто эта абстракция удобна для восприятия простому человеку. Вот как то так Это сообщение отредактировал(а) Batbko - 3.1.2011, 21:09 |
||||
|
|||||
| ДокторТуамОсес |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 242 Регистрация: 8.6.2009 Репутация: -4 Всего: -12 |
Позволю себе не согласиться. То что Вы описали - не семантика, а алгебраические свойства операций. А семантику то как раз поменять можно. Можно например сделать, чтобы - для объектов класса Т1 А+В означало действительно сложение в том смысле как мы привыкли - для объектов класса Т2 А+В означало операцию умножения --------------------
"Извините! А это ничего, что я говорю в тот момент, когда Вы меня перебиваете?"™ |
|||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
А кто это решил, что неверная ?! мне именно такое поведение и требовалось.. тогда и у потоков операторы >>,<< не правильно перегружены.. не смотряя на то что входят в стандарт |
|||
|
||||
| ДокторТуамОсес |
|
||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 242 Регистрация: 8.6.2009 Репутация: -4 Всего: -12 |
Я же просил Вас как человека
А Вы опять всё загадками изъясняетесь. Каждый Ваш ответ порождает 10 уточняющих вопросов. Вот что Вы КОНКРЕТНО имеете в виду говоря "компьютер с абстракцией не работает." То что проц понимает только язык машинных кодов? Или что? --------------------
"Извините! А это ничего, что я говорю в тот момент, когда Вы меня перебиваете?"™ |
||||
|
|||||
| KaraKum |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 640 Регистрация: 3.12.2007 Репутация: 1 Всего: 1 |
Это известно только в момент создания переменной и то если эта переменная создавалась. Указателем на "void" может быть адрес буфера железа (неизвестный размер), параметр для потока (неизвестный размер). Абсолютно любая переменная является указателем на ячейку памяти.
Можно. Добавлено через 1 минуту и 38 секунд Вот именно это я имел в виду под "переворачиванием мировоззрения с ног-на-голову". Звучит слишком громко для такого плёвого дела, но порой некоторые узнают какие-то факты вот с таким лицом: |
|||
|
||||
| ДокторТуамОсес |
|
||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 242 Регистрация: 8.6.2009 Репутация: -4 Всего: -12 |
А я сказал на это:
--------------------
"Извините! А это ничего, что я говорю в тот момент, когда Вы меня перебиваете?"™ |
||||
|
|||||
| Batbko |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 40 Регистрация: 17.12.2010 Репутация: нет Всего: нет |
но приоритет операции или способ её вызова это не изменит, а будет означать только то что правильной операцией сложения для этих обьектов будет на самом деле их умножение.
никто и не решал Под семантикой я понимаю совокупность правил по которым происходит выполнение операций, а не то что операции должны делать. Но перегрузки операторов и тому подобные средства, это все элементы конкретного ЯП. Это сообщение отредактировал(а) Batbko - 3.1.2011, 21:35 |
|||
|
||||
| ДокторТуамОсес |
|
||||||||||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 242 Регистрация: 8.6.2009 Репутация: -4 Всего: -12 |
Это верно то верно. Только вопрос: "А что? Семантика оператора исчерпывается только правилами коммутативности,ассоциативности и приоритета?" Добавлено через 1 минуту и 41 секунду
Добавлено через 6 минут и 26 секунд
Из типа стоящего справа выражения --------------------
"Извините! А это ничего, что я говорю в тот момент, когда Вы меня перебиваете?"™ |
||||||||||||
|
|||||||||||||
| KaraKum |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 640 Регистрация: 3.12.2007 Репутация: 1 Всего: 1 |
Короче, вундеркинды, и kemiisto в их числе со своими отсылками на "в корне неверными суждениями".
Дабы не засорять просторы рунета безосновательным и неконструктивным обсуждением каких-то несуществующих "абстракций" в С++, следует объяснить все "взаимоотношения" между компилятором и пресловутыми "типами переменными". Вот кусочек вселенской мудрости:
Добавлено @ 21:34 Нет здесь никаких аристотелевских метафизических абстракций. Это сообщение отредактировал(а) KaraKum - 3.1.2011, 21:35 |
|||
|
||||
| ДокторТуамОсес |
|
||||||||||||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 242 Регистрация: 8.6.2009 Репутация: -4 Всего: -12 |
А мне представляется, что конструируется. Сначала мы из "лексем" [typedef], [int], [*] и [;] "сконструировали тип" P А потом из "лексем" [typedef], [*], [P] и [;] "сконструировали тип" P2 Добавлено через 4 минуты и 55 секунд
И что? В этом примере:
значение переменной c до выполнения программы неизвестно. Но это вовсе не значит, что у неё нет типа Добавлено через 8 минут и 23 секунды
Опять загадками говорите? Вы имеете в виду если рассматривать программу на уровне машинного кода? Добавлено через 9 минут и 39 секунд
Добавлено через 12 минут и 1 секунду
А Вы не могли вместо "переворачивания мировоззрения с ног-на-голову" просто озвучивать "факты", которые люди узнают "вот с таким лицом: А? --------------------
"Извините! А это ничего, что я говорю в тот момент, когда Вы меня перебиваете?"™ |
||||||||||||||
|
|||||||||||||||
| ДокторТуамОсес |
|
||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 242 Регистрация: 8.6.2009 Репутация: -4 Всего: -12 |
Ну "приоритетом операции" и "способом её вызова" - далеко не исчерпывается семантика перегруженных операторов. Добавлено через 2 минуты и 11 секунд
То что Вы "считаете семантикой" - это скорей уж алгебраические аксиомы, которым подчиняются операции --------------------
"Извините! А это ничего, что я говорю в тот момент, когда Вы меня перебиваете?"™ |
||||
|
|||||
| KaraKum |
|
||||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 640 Регистрация: 3.12.2007 Репутация: 1 Всего: 1 |
Я сказал размер, а не значение! Добавлено через 58 секунд
Я их "озвучиваю" - они игнорируются. Добавлено через 2 минуты и 17 секунд
Добавлено через 3 минуты и 27 секунд Достаточно ли тут НЕПОСРЕДСТВЕННОСТИ? Или чего-то не хватает? Какой-нибудь семантики, аксиоматики, абстрактности, сиплюсплюсности? Добавлено через 3 минуты и 47 секунд Или я "в корне не прав"? |
||||||
|
|||||||
| ДокторТуамОсес |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 242 Регистрация: 8.6.2009 Репутация: -4 Всего: -12 |
Зато в "compile-Time" много чего происходит P.S. Всё-таки я обладаю хотя бы в малой степени телепатическими способностями и догадался по Вашим загадочным фразам, что Вы клоните к тому, что в конечном счёте любая программа это не более чем последовательность машинных команд. Но Вы зря на этом пытаетесь меня поймать, и "в корне перевернуть моё мировоззрение". Я ассемблерщик с более чем 20-ти летним стажем. Поэтому очень хорошо себя представляю во что превращаются всякие там абстракции на уровне машинного кода --------------------
"Извините! А это ничего, что я говорю в тот момент, когда Вы меня перебиваете?"™ |
|||
|
||||
| KaraKum |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 640 Регистрация: 3.12.2007 Репутация: 1 Всего: 1 |
||||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |