PTR, LNK.

Тема в разделе "WASM.ZEN", создана пользователем Indy_, 4 авг 2017.

  1. Fail

    Fail Active Member

    Публикаций:
    0
    Инде, вы страдаете гомофобией штоле?:blush2::laugh1:
     
    Последнее редактирование модератором: 6 авг 2017
  2. njeen

    njeen Active Member

    Публикаций:
    0
    Указателем является адрес, лежащий в ячейке памяти.
     
  3. SadKo

    SadKo Владимир Садовников

    Публикаций:
    8
    Согласно опыту пользования ЯП:
    1. Ссылка не допускает арифметики указателей. Все попытки модифицировать ссылку приводят к модификации объекта, на который она ссылается.
    2. Ссылку нельзя изменить (то есть, нельзя изменить адрес, на который она ссылается).
    3. Ссылка либо ссылается на существующий объект, либо имеет значение null (в определённых ЯП). Указатель может содержать в себе произвольное значение до тех пор, пока он не понадобится.

    С точки зрения lowlevel ссылка - просто синтаксически засахаренный указатель.
     
  4. Indy_

    Indy_ Well-Known Member

    Публикаций:
    4
    njeen,

    > Указателем является адрес, лежащий в ячейке памяти.

    Скорее корректное значение адреса есть указатель. Это значение может быть не в памяти, а в регистре.

    SadKo,

    Смотрите. Есть какое то значение в памяти. Оно не является указателем, ничего не адресует. Если для адреса, по которому расположено это значение(указатель) имеется релок, то это значение - указатель. Не смотря на то, был он загружен или нет(были обращения к этой переменной).
    Адрес этой переменной с указателем это ссылка ?
     
  5. SadKo

    SadKo Владимир Садовников

    Публикаций:
    8
    Информация о местоположении указателя в Relocation - это больше на ссылку смахивает.
    Теперь понятно к чему вы клоните. Если с выбором между "указатель" и "ссылка" вы испытываете серьёзные затруднения, то можно поступить проще: в начале статьи дать определение того, что вы будете понимать под термином "указатель" и того, что вы будете понимать под термином "ссылка". Тогда и неоднозначность трактовки сойдёт на нет.
     
  6. njeen

    njeen Active Member

    Публикаций:
    0
    Здесь имелась в виду обобщенная память. Регистры - тоже ячейки памяти, только в процессоре. Адрес не обязан быть корректным. Любое численное значение может быть интерпретировано как адрес.
     
  7. Pavia

    Pavia Well-Known Member

    Публикаций:
    0
    Indy вы не на том форуме спросили.
    Ответ прост сообщество не разделяет понятия указатель и ссылка.
    Указатель это просто. Есть адрес это табличка на доме, а указатель эта табличка на дороге со стрелкой.
    Указатель от слова кажет. Поэтому это слово понятнее.
    А вот ссылка непонятно. Но проблема в том, что большинство думает что знает. Скорее всего вам скажут что это ссылка.
    Дать своё определение не получиться. Людей вы не переубедите они уже представили некоторый образ в своей голове и будут над вами смеяться.

    Советую просто придумать новое слово для описания статьи.

    Идея использовать понятие слабый и сильный указатель мне тоже не нравиться. Однако пока это лучшее.
     
    Indy_ нравится это.
  8. Rockphorr

    Rockphorr Well-Known Member

    Публикаций:
    0
    RefMyName LABEL BYTE ; ссылка
    MyName BYTE 'Rockphorr'

    MyPointer DWORD offset(MyName) ; указатель

    на сколько я понимаю общепринято считать так. если хотите городите свои определения

    написал на основе этого текста https://ru.wikipedia.org/wiki/Ссылка_(C++)
     
  9. rmn

    rmn Well-Known Member

    Публикаций:
    0
    Rockphorr,
    В ассемблере вообще нет разницы между указателем и ссылкой. Различаются они только во время компиляции высокоуровневого сорца, т.е. это чисто синтаксическая тема и говорить о ней в отрыве от яп (как инде какого-то х.ра захотел) не имеет смысла. Релоки, регистры, ячейки памяти, отморфленный в буфер мессаджбокс и т.п. тут вообще никаким боком.
     
  10. Rockphorr

    Rockphorr Well-Known Member

    Публикаций:
    0
    не соглашусь
     
  11. Rockphorr

    Rockphorr Well-Known Member

    Публикаций:
    0
    разница между RefMyName и MyPointer существенна
    mov AL,RefMyName и mov esi,MyPointer / mov AL,[esi]

    итог обоих случаев AL="R"
     
  12. rmn

    rmn Well-Known Member

    Публикаций:
    0
    Да пожалуйста. Я просто факт озвучил, что ссылки в с++ ввели как упрощение работы с указателями (в смысле набора текста).
     
  13. rmn

    rmn Well-Known Member

    Публикаций:
    0
    Твое MyPointer в сишке называется указатель на указатель, а RefMyName - просто указатель. Ссылки тут вообще не при делах.
     
  14. Rockphorr

    Rockphorr Well-Known Member

    Публикаций:
    0
    даже в педивикии написано иначе
     
  15. Rockphorr

    Rockphorr Well-Known Member

    Публикаций:
    0
    это заблуждение

    int a = 3;
    int *p = &a; //объявили, создали и инициализировали объект

    &a и &p существуют и различны в то время как &3 бессмысленен также как offset(3)
     
    Последнее редактирование: 24 авг 2017
  16. rmn

    rmn Well-Known Member

    Публикаций:
    0
    Даю определение: ссылка -это указатель, который рукожоп не может испортить опечатками в тексте.
    Пользуйтесь :)
     
  17. rmn

    rmn Well-Known Member

    Публикаций:
    0
    Разумеется. А где я говорил, что нет? Одно указатель (хранит адрес, где хранится число 3), а второе - указатель на указатель (хранит адрес, где хранится адрес, где хранится число 3).
     
  18. Rockphorr

    Rockphorr Well-Known Member

    Публикаций:
    0
    ссылка является альтернативным именем то есть по сути метка в данных или imm а не mem (по интелловской классификации операндов)
    указатель переменная хранящая адрес или mem
     
  19. Rockphorr

    Rockphorr Well-Known Member

    Публикаций:
    0
    не верно

    определения даются так - пишется конструкция а потом табличкой части конструкции и термины им соответствующие
     
    Последнее редактирование: 24 авг 2017
  20. Rockphorr

    Rockphorr Well-Known Member

    Публикаций:
    0
    дана строка с помшью директивы BYTE , определена ссылка на строку с помощью директивы Label
    и указатель на строку - переменная содержащая адрес строки

    интересует мнение Indy - достаточно ясности в моем определении ???
    rmn с вашей системой определений я не согласен, на изменение ваших взглядов не претендую, имхо у вас путаница (совершенно субъективно), общепринятый смысл иной чем у вас
     
    Последнее редактирование: 24 авг 2017