Я всегда называю это «оператором стрелок», но я уверен, что у него официальное название. Я быстро просмотрел стандарт C++ и не видел, чтобы он упоминался по имени.Какое официальное название оператора стрелки C++ (->)?
ответ
Стандарт C++ просто называет это «стрелкой» (§5.2.5).
Сначала упоминается в 5.2.4, но затем повсеместно с оператором точек. –
Согласно Wikipedia's list of operators in C and C++, это называется «член по указателю».
Но, если быть абсолютно честным, я всегда называл это «стрелой». Например, если бы у меня был код a->b
, я бы это прочитал как «стрелка b».
Я читал это точно так же. Интересно, почему .... (P.S. Hi TO!) –
Я нашел статью в Википедии, прежде чем я разместил вопрос. Несмотря на то, что он указан под столбцом «name» в таблице, я склонен полагать, что это описание, а не имя. – rmeador
Bjarne Stroustrup называет его оператором разыменования структуры указателя (TC++ PL Special Edition, стр. 102). В индексе он ссылается на него как на оператора доступа к члену.
Не уверен, что это «официальный», но парень все-таки написал этот язык.
Официальное название этого оператора: оператор доступа к классу (см. 5.2.5). Хотя это имя прикреплено к операторам .
и ->
, что означает, что это больше имя группы. .
также упоминается как оператор-точка и ->
как стрелка оператора в стандартном тексте.
Добавлено позже: Вышеприведенное относится к стандарту C++. C относится к ->
как оператор стрелки только в указателе. Основной текст документа, похоже, не использует какое-либо конкретное имя.
стандарт ISO C называет его ->
оператор или элемент доступа->
оператор. Таким образом, очевидно, что не имеет «официальное» имя С.
Лично я просто говорю указатель или стрелка.
Его просто бит (то есть не точка).
разыменования указателя
Я слышал, что называется несколькими различными способами, никогда не был уверен, что какой-либо один, в частности, была более официальной, чем другой.
- Выбор элемента Оператор
- Указатель разыменования Оператор
- "стрелка штуковина"
и я уверен, что есть и другие. лично меня меньше беспокоит то, что его называют в книге или официальной спецификации, и больше обеспокоены тем, что люди знают, что я имею в виду, когда я обращаюсь к нему, так что, на мой взгляд, «стрела вещь» - лучшее имя для нее, поскольку это самый простой чтобы четко понимать, о чем идет речь.
Этих терминов никак не официальный, но я бы назвал оператор точка оператора доступа прямого члена (класса) и оператор стрелка оператор доступа косвенного члена (класса) разъяснить их отношения с оператор косвенности.
Индекс ISO/IEC 9899: 1999 (стандарт C99) имеет три записи индекса для оператора стрелок (в своем собственном праве и под «союзом» и «структурой») и относится к разделу 6.5. 2.3 (Структура и члены объединения, в разделе о операторах Postfix). Однако упоминание «стрелки» в разделе 6.5.2.3 или где-либо еще в стандарте, кроме индекса, не упоминается (каждый другой вид «стрелки» является частью «узкого» или производного от узкого).
Стрелка, поэтому, официально официально санкционирована в стандарте C (однако индекс не является нормативным или стандартным.
Был недавний вопрос о том, как оператор «произносится» в контексте. Рассмотрим оператор умножения, который произносится как «раз» в контексте.
Я считаю, что оба оператора доступа доступа {. ->}, чтобы указать владение, поэтому я объявляю их как притяжательный объект.
Например, fido-> воротник() ... будет произнесен как «воротник fido».
С другой стороны, владение не подходит для глаголов, поэтому ... fido-> run() ... будет объявлен как «fido running».
Это не по теме: ОП задал вопрос, как был вызван этот символ, и уже был предоставлен ответ со ссылкой на стандарт C++. Если был еще один вопрос относительно произношения символов, вы должны прокомментировать там, а не здесь. – DMH
В черновике C99 я не могу найти упоминания о его названии. Он всегда называется «-> оператор» в этом документе. –
@Mehrdad: Называть это «оператор стрелок» в индексе, хотя – AnT
AndreyT: В индексе я вижу «оператор стрелки (->)» и «оператор указателя (->)» –