Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.88/25: Рейтинг темы: голосов - 25, средняя оценка - 4.88
1 / 1 / 0
Регистрация: 22.03.2020
Сообщений: 131

ДЛЯ чего используется this-> в конструкторе

29.05.2020, 13:45. Показов 6083. Ответов 46
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
ДЛЯ чего используется this-> в конструкторе и на что он указывает
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
29.05.2020, 13:45
Ответы с готовыми решениями:

Для чего используется out
Здравствуйте!!! Не могу понять для чего используется в программе out ? Задание: Дан массив размером n×n, элементы которого целые...

Для чего используется eventfd
Здравствуйте! Изучаю событийно-ориентированное программирование в Linux, нашел такой системный вызоа как eventfd, но не доконца понятно...

Для чего в коде используется >>>
Здравствуйте. изучаю по самоучителю python 3.7 в коде попались символы >>> - для чего они используются. не могу найти в...

46
"C with Classes"
2022 / 1404 / 523
Регистрация: 16.08.2014
Сообщений: 5,885
Записей в блоге: 1
29.05.2020, 21:18
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Mightsoul Посмотреть сообщение
Из всех, только DrOffset, выразил конструктивную критику по существу
просто DrOffset очень воспитанный и культурный
Цитата Сообщение от Mightsoul Посмотреть сообщение
у остальных, как будто бы, фантомные войны со мной
а мне показалось наоборот
0
19501 / 10106 / 2461
Регистрация: 30.01.2014
Сообщений: 17,825
29.05.2020, 21:18
Цитата Сообщение от Mightsoul Посмотреть сообщение
Случайность не может быть абсолютной, поэтому если вы правы, должен быть компилятор, который не выведет 666 без изменения кода.
А иначе, ваши разговоры - пустая болтовня ни о чём.
Вообще суть всего разговора в том, что вы подаете частный пример как общий. Вам справедливо возразили, что в общем случае эти утверждения не верны.
Выделил жирным то, на что вы упорно не обращаете внимание в аргументации ваших оппонентов

Цитата Сообщение от zayats80888 Посмотреть сообщение
Во-первых, такое преобразование прокатит только для pointer-interconvertible объектов.
Цитата Сообщение от zayats80888 Посмотреть сообщение
в общем случае UB

То, что ваш частный пример ведет себя так, как вы ожидаете - не означает автоматически, что для остальных ситуаций это справедливо. Мой пример именно это и демонстрирует, он опровергает утверждение, что указатель this всегда совпадает с адресом первого нестатического члена-данного объекта. Делая очевидным тот факт, что это зависит от свойств типа объекта.
Те случаи, когда адреса совпадают, описаны в стандарте предельно четко,
Цитата Сообщение от http://eel.is/c++draft/basic.compound#4
4 Two objects a and b are pointer-interconvertible if:

(4.1) they are the same object, or
(4.2) one is a union object and the other is a non-static data member of that object ([class.union]), or
(4.3) one is a standard-layout class object and the other is the first non-static data member of that object,
or, if the object has no non-static data members, any base class subobject of that object ([class.mem]), or
(4.4) there exists an object c such that a and c are pointer-interconvertible, and c and b are pointer-interconvertible.
If two objects are pointer-interconvertible, then they have the same address, and it is possible to obtain a pointer to one
from a pointer to the other via a reinterpret_­cast
.
и ваш пример как раз попадает под эти правила, поэтому никто вам не приведет компилятора, где это не сработает.
Так что сейчас проблема только в том, что вы совершенно не хотите понимать в чем именно состоят возражения остальных участников.
1
El. Psy. Congroo.
 Аватар для Mightsoul
110 / 92 / 32
Регистрация: 09.01.2018
Сообщений: 344
29.05.2020, 21:32

Не по теме:

Пойду лучше Евангелион пересмотрю, всех благ.



Добавлено через 6 минут
Я не подаю этот пример, как общий, но если не менять код, то он будет компилироваться в 99% случаев. Это довольно странная логика, ибо переписать одну часть кода из-за изменений другой - обычное дело.
что указатель this всегда совпадает с адресом первого нестатического члена-данного объекта.
vtpointer тоже член.
Делая очевидным тот факт, что это зависит от свойств типа объекта.
Разумеется.

Добавлено через 7 минут
Цитата Сообщение от DrOffset Посмотреть сообщение
Так что сейчас проблема только в том, что вы совершенно не хотите понимать в чем именно состоят возражения остальных участников.
Так в том то и дело, что я хочу понять, но не могу.
0
19501 / 10106 / 2461
Регистрация: 30.01.2014
Сообщений: 17,825
29.05.2020, 21:32
Цитата Сообщение от Mightsoul Посмотреть сообщение
vtpointer тоже член.
vpointer - это в первую очередь деталь реализации, потому со стороны кода вы никак не можете знать будет ли он первым или, например, последним и будет ли вообще. Поэтому один и тот же код может давать разное поведение на разных компиляторах, даже если вы будете стараться учитывать vptr.

Цитата Сообщение от Mightsoul Посмотреть сообщение
Я не подаю этот пример, как общий
Как я уже сказал, вы этого не проговорили явно, поэтому вам начали возражать.
Если бы вы сделали это, я думаю большинство вопросов не прозвучало бы вообще.
0
El. Psy. Congroo.
 Аватар для Mightsoul
110 / 92 / 32
Регистрация: 09.01.2018
Сообщений: 344
29.05.2020, 21:34
Я не отрицаю ни UB, ни то, что этот код нельзя применять в обычных условиях, если целью не стоит продемонстрировать подобную ситуацию. Так в чём же я не прав?
0
248 / 70 / 9
Регистрация: 22.07.2018
Сообщений: 321
29.05.2020, 21:35
Цитата Сообщение от Mightsoul Посмотреть сообщение
Так в чём же я не прав?
Забываешь про неписанное правило.
Миниатюры
ДЛЯ чего используется this-> в конструкторе  
0
El. Psy. Congroo.
 Аватар для Mightsoul
110 / 92 / 32
Регистрация: 09.01.2018
Сообщений: 344
29.05.2020, 21:42
Цитата Сообщение от DrOffset Посмотреть сообщение
потому со стороны кода вы никак не можете знать будет ли он первым или, например, последним и будет ли вообще.
Это так, но в изначальном примере о нём не было и речи.

Добавлено через 5 минут
Только вот, чтобы согласиться с этим, мне нужно вытащить твоё мнение из глубочайшего .text, используя смещение относительно адреса в сегменте стека и итеративное разыменование, хотя даже тогда, это не будет значить ни бита, так что, как ты понимаешь, __IONBF.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
29.05.2020, 21:42

Для чего используется Distinct()
для чего используется Distinct()?

Для чего используется DLL?
исходники кода написанного на C++ хранятся в DLL верно?? Для чего используется DLL?? Добавлено через 2 минуты вернее не исходники а...

Для чего используется Close(F)?
Это закрытие файла, что может быть если не выполнить это закрытие?

Для чего используется директива using
A) Только для объявления пространства имен B) Только для освобождения управляемых ресурсов C) Только для освобождения неуправляемых...

Для чего используется Expression
Здравствуйте! Недавно наткнулся в чужом коде на ключевое слово Expression и не могу до сих пор догнать, для чего это нужно :wall:. С...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
47
Ответ Создать тему
Новые блоги и статьи
Сезонность закисления почв
anaschu 04.07.2026
200 часов это все равно моловато. Есть ситуации, но нестандартные, когда смена происходит за 5 лет. Но обычно это 50 лет и более. Наверное, закисление почвы происходит сезонно в средней. . .
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
Поиск всех путей на ориентированном графе. Linux
dcc0 02.07.2026
Переработка старого кода из моей статьи. Через несколько переработок от PHP кода к C89 (надеюсь, 89). Но довольно запутанно получилось. Код для Linux. Но если убрать time и то, что с ним. . .
Сам себя обучал rest api
anaschu 02.07.2026
Педагогический лайфхак: Почему чистый REST API для ученика намного круче, чем готовые библиотеки Когда мы отказались от капризного JAR-файла AnyLogic и переписали код на стандартный HttpClient,. . .
rest api anylogic - выполнение модели на своём русском сайте
anaschu 02.07.2026
Как подружиться с AnyLogic Cloud API, победить провайдеров и развернуться Java-бэкенд в Docker на бесплатном хостинге: Двухдневный лог борьбы Всем привет! Хочу поделиться свежим (и довольно. . .
Где деньги лежат
kumehtar 02.07.2026
Это - японская подводная лодка I-52 (тип C2, кодовое имя Momi) вышла из Японии в марте 1944 года с миссией в оккупированную немцами Францию (Лорьян). Это была одна из «Янаги»-миссий по обмену. . .
Krabik для WoW 3.3.5a, многоязычный
AmbA 02.07.2026
Допилил бота, думаю что окончательно. Изменения: - добавлена многоязычность - добавлено снятие скриншотов - добавлено поддержание бафов хождения по воде (для жреца, дк и шамана) - и так, по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru