Здравствуйте, ботаныч, Вы писали:
R>>>>Во-вторых, здесь тоже будет создан "инстанс", т.к. указатель — это тоже объект (нулевой указатель в т.ч).
Б>>> разыменования здесь нет.
R>>??? Где ты видишь в ЭТОМ моём высказывании слово "разыменовывание"? Здесь же про другое.
Б>Б>-третьих, я вот думаю, а не будет ли здесь UB (разыменовывание нулевого указателя)?
Б> твоя фраза ?
Конечно моя, но отвечаешь же ты не на эту, а на другую.
Б>это 1.
Б>2. ты уводишь тему в разбор, что такое указатель.
Ничего я никуда не увожу, говорю строго по факту того, что говоришь ты.
Б> И ежу понятно, что указатель "имеет" и дестрвуктор, у него есть и прочее соответствующие методы по умолчанию, но память под это все выделяться не будет.
Под что не будет выделяться память, под указатель??? То есть у указателя есть size и storage duration, но память выделяться не будет?
Б> т.к. скорее всего будет ссылаться на константную облаcть от типизированных nullptr.
А "константная область" — это не память что ли? "Скорее всего" никаких объектов вообще не будет создано, ибо незачем. Только это никак не делает твои высказывания (цитировать не стану) корректными.
Б> Хотя все это чисто для удобства в шаблонировании, и если тебе прилетает в шаблон в качестве template <typename T> void call(T ptr) { ...} using T = ObjectTypePtr*; // то можно вызывать ptr.~T(); //
Что за ... ???
R>>https://timsong-cpp.github.io/cppwp/expr.ref#2
R>>R>>The expression E1->E2 is converted to the equivalent form (*(E1)).E2; the remainder of [expr.ref] will address only the form using a dot.
Б> Это в теории, а на практике я встречал ситуации падение сразу после разыменования указателя. И в тоже время -> работал без проблем, даже с нестатическими методами, если в методе не было обращений к полям инстанса класса (невалидного).
По сути ты мне сейчас говоришь: "не смотри в документ, слушай, что я тебе говорю". Так? Ну и почему я должен учитывать твой опыт с бОльшим приоритетом, чем стандарт языка?
Б> И в тоже время -> работал без проблем, даже с нестатическими методами, если в методе не было обращений к полям инстанса класса (невалидного).
И кстати, вот это просто хрестоматийный случай UB, который здесь уже жёван-пережёван не один раз на протяжении многих лет. То, что ты используешь подобный говнокод (даже если не используешь, а просто пытаешься строить на этом какие-то рассуждения и делать какие-то выводы) красноречиво говорит о твоей квалификации и о твоей экспертности.