LINUX.ORG.RU

Ты прав. ты всегда считал ....

а какой вариант предпочтителен из предложеных(включая &1[a]) - зависит от контекста- что конкретно мы хотим выразить.

вариант &a[1] - очевиден и привычен.

qulinxao ★★☆
()
Ответ на: комментарий от wota

да ладно, просто через итератор и все, тут нечего обсуждась я думаю, кому что больше нравиться

Boy_from_Jungle ★★★★
()
Ответ на: комментарий от Boy_from_Jungle

Если бы ты был чуть внимательнее, то ты бы прочитал полностью пример и увидел следующее:

int& operator*() {return *p;}

Тут как ты видишь возвращается ссылка.

invy ★★★★★
()
Ответ на: комментарий от invy

ну я тебе так и написал,

обращение к элементу же ведъ

если ты не знаешь что это, то да, возврашается текущий елемент, как и в твоем примере. Как он возвращается, по сслыке, значению, и т.п. это дело уже другое.

З.Ы. вообще возвращать-передавать примитивы по ссылке не гуд, but it depends on ......

Boy_from_Jungle ★★★★
()
Ответ на: комментарий от Boy_from_Jungle

Я тебя процитирую:

угу, передай то что ты написал в ф-цию на С которая принимает указатель

То есть &*v.begin() в функцию принимающую указатель передать не проблема, а &v.front() - проблема?

то да, возврашается текущий елемент

Возвращается ссылка на объект, на который указывает итератор (который, кстати, может указывать вообще хрен знает куда).

invy ★★★★★
()

Компилятору все равно. Но в случае а+1 надо листать вверх на описание переменной

vertexua ★★★★★
()

Как по мне, все от ситуации зависит. Я бы все-таки предпочел видеть &a[1] при чтении чужого кода — не надо (пусть даже на секунды) отрывать взгляд и лезть вверх по коду (пусть даже на пару строк), чтобы вспомнить, что есть a в данном контексте и т.п. Хотя, некоторые считают, что истинные «хакеры» работают с адрессной арифметикой только в стиле «a+1».

GreenBag ★★
()

Все выше отписавшиеся упоротые, нет никакой разницы как писать, читабельность/нечитабельность кода заключается скорее в общей архитектуре и выбранных способах абстракции, а вовсе не в каких-то мелочах типа этой.

rand
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.