|
Вопрос к гуру С++
|
|||
---|---|---|---|
#18+
Попался мне такой код Код: plaintext 1. 2. 3. 4.
В чем смысл обращения по ссылке? Почему нельзя так: Код: plaintext 1. 2. 3. 4.
Вопрос чисто академический. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2019, 14:45 |
|
Вопрос к гуру С++
|
|||
---|---|---|---|
#18+
Ты ничего не перепутал? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2019, 14:57 |
|
Вопрос к гуру С++
|
|||
---|---|---|---|
#18+
ИМХО ерунда какая-то написана. Может попался Код: plaintext 1.
вместо Код: plaintext 1.
В чем смысл - не знаю. Насколько понимаю результат будет одинаковый, разница только в синтаксисе. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2019, 14:58 |
|
Вопрос к гуру С++
|
|||
---|---|---|---|
#18+
SQL2008Попался мне такой код Код: plaintext 1. 2. 3. 4.
В чем смысл обращения по ссылке? Почему нельзя так: Код: plaintext 1. 2. 3. 4.
Вопрос чисто академический. Итератор служит для итерирования и получения текущего значения, на который он указывает . Для второго служат перегруженные операторы ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2019, 15:03 |
|
Вопрос к гуру С++
|
|||
---|---|---|---|
#18+
SQL2008В чем смысл обращения по ссылке? Очевидно в том, что в контейнере лежат указатели, а не сами объекты. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2019, 15:18 |
|
Вопрос к гуру С++
|
|||
---|---|---|---|
#18+
Более того: в контейнере лежат указатели на указатели. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2019, 15:20 |
|
Вопрос к гуру С++
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovБолее того: в контейнере лежат указатели на указатели. ИМХО ТС напутал 21963520 , если it указатель на указатель, то это не скомпилируется Код: plaintext 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2019, 15:25 |
|
Вопрос к гуру С++
|
|||
---|---|---|---|
#18+
Dima TDimitry SibiryakovБолее того: в контейнере лежат указатели на указатели. ИМХО ТС напутал 21963520 , если it указатель на указатель, то это не скомпилируется Код: plaintext 1.
+1 Стрелка ставится при указателе. То есть переписать код придется. А не что хочу то и ставлю. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2019, 15:30 |
|
Вопрос к гуру С++
|
|||
---|---|---|---|
#18+
SQL2008В чем смысл обращения по ссылке?точка если там структура. Стрелка если там указатель на структуру. Всё. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2019, 15:32 |
|
Вопрос к гуру С++
|
|||
---|---|---|---|
#18+
PetroNotC SharpSQL2008В чем смысл обращения по ссылке?точка если там структура. Стрелка если там указатель на структуру. Всё. Не, вопрос о том что вместо стрелки it-> можно написать (*it). TCу непонятно зачем так пишут. Если честно, мне тоже интересно, как-то натыкался на такой синтаксис. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2019, 15:37 |
|
Вопрос к гуру С++
|
|||
---|---|---|---|
#18+
Dima TНе, вопрос о том что вместо стрелки *it->* можно написать *(*it).* TCу непонятно зачем так пишут. А ты попробуй написать "it->->DeviceCreated()" и послушай мнение компилятора по этому поводу. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2019, 15:40 |
|
Вопрос к гуру С++
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovDima TНе, вопрос о том что вместо стрелки *it->* можно написать *(*it).* TCу непонятно зачем так пишут. А ты попробуй написать "it->->DeviceCreated()" и послушай мнение компилятора по этому поводу. Однако ловко ты мой пост пропатчил :) Ты внимательно попробуй прочитай первый пост, ИМХО ТС явно напутал: SQL2008 Код: plaintext 1.
В чем смысл обращения по ссылке? Перепутал стрелку и точку, т.е. it это обычный указатель, а не указатель на указатель. Иначе вопрос превращается в тупой: "почему нельзя менять рабочий код на нерабочий?" ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2019, 15:47 |
|
Вопрос к гуру С++
|
|||
---|---|---|---|
#18+
Dima TИначе вопрос превращается в тупой: "почему нельзя менять рабочий код на нерабочий?" Ну так по-моему всё правильно и вопрос именно такой. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2019, 15:50 |
|
Вопрос к гуру С++
|
|||
---|---|---|---|
#18+
Dima TPetroNotC Sharpпропущено... точка если там структура. Стрелка если там указатель на структуру. Всё. Не, вопрос о том что вместо стрелки it-> можно написать (*it). TCу непонятно зачем так пишут. Если честно, мне тоже интересно, как-то натыкался на такой синтаксис.вангую что это стиль С а не плюсов. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2019, 15:51 |
|
Вопрос к гуру С++
|
|||
---|---|---|---|
#18+
Dima T, У него пример компилируется? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2019, 15:52 |
|
Вопрос к гуру С++
|
|||
---|---|---|---|
#18+
Вот пример нагуглил обучающий http://cppstudio.com/post/9535/ Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9.
ИМХО наверно преподаватели пытались показать равнозначность обоих вариантов, а нерадивые ученики тупо скопипастили в реальный код то, что больше понравилось. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2019, 16:05 |
|
Вопрос к гуру С++
|
|||
---|---|---|---|
#18+
Dima T, )))) Невозможно ничего скрыть сегодня в IT )) ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2019, 16:08 |
|
Вопрос к гуру С++
|
|||
---|---|---|---|
#18+
Dima TВот пример нагуглил обучающий http://cppstudio.com/post/9535/ Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9.
ИМХО наверно преподаватели пытались показать равнозначность обоих вариантов, а нерадивые ученики тупо скопипастили в реальный код то, что больше понравилось.Если бы it был указателем, то оно точно было бы эквивалентно. А тут надо еще убедиться, что операторы '->' и '*' перегружены так, что оно эквивалентно. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2019, 19:52 |
|
Вопрос к гуру С++
|
|||
---|---|---|---|
#18+
SQL2008Попался мне такой код Код: plaintext 1. 2. 3. 4.
В чем смысл обращения по ссылке? Почему нельзя так: Код: plaintext 1. 2. 3. 4.
Вопрос чисто академический. Итератор может быть классом, переопределяющим разные операторы. В конструкции (*it)-> внутри скобок доступ к объекту по итератору, и если от этого объекта делается доступ по указателю, то это, видимо, указатель. Во втором случае it. это может быть доступ к полю класса интератора, и там тупо нет такого метода. То есть где-то в коде наверное есть Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8.
И в первом случае it (в (*it)->) имеет тип vector<Controller*>::iterator, далее (*it) это Controller*, и поэтому доступ к методу DeviceCreated() есть. Во втором случае будет попытка обращения vector<Controller*>::iterator.DeviceCreated(), и ошибка. Сейчас нет возможности привести детали, но точно что переопределение оператора точки много где встречается для обращения к полям класса-указателя, а оператор стрелка в том же классе-указателе дает доступ к указываемому объекту. Итератор в этом смысле лишь вид указателя. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2019, 23:41 |
|
Вопрос к гуру С++
|
|||
---|---|---|---|
#18+
teo609переопределение оператора точки много где встречается Ух ты... а мужики-то стандарт считает, что "The operators :: (scope resolution), . (member access), .* (member access through pointer to member), and ?: (ternary conditional) cannot be overloaded". Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
05.09.2019, 00:19 |
|
Вопрос к гуру С++
|
|||
---|---|---|---|
#18+
PetroNotC SharpDima T, У него пример компилируется? Компилируется. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2019, 17:14 |
|
Вопрос к гуру С++
|
|||
---|---|---|---|
#18+
teo609 И в первом случае it (в (*it)->) имеет тип vector<Controller*>::iterator, далее (*it) это Controller*, и поэтому доступ к методу DeviceCreated() есть. Во втором случае будет попытка обращения vector<Controller*>::iterator.DeviceCreated(), и ошибка. Сейчас нет возможности привести детали, но точно что переопределение оператора точки много где встречается для обращения к полям класса-указателя, а оператор стрелка в том же классе-указателе дает доступ к указываемому объекту. Итератор в этом смысле лишь вид указателя. Да. Скорее всего идея именно в перегрузке операторов. Реальной или планируемой в будущем при расширении платформы. Всем спасибо за дискуссию. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2019, 17:23 |
|
Вопрос к гуру С++
|
|||
---|---|---|---|
#18+
SQL2008Скорее всего идея именно в перегрузке операторов. 21964087 ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2019, 20:31 |
|
Вопрос к гуру С++
|
|||
---|---|---|---|
#18+
Уоу... Всё совсем плохо, если гуру должны отвечать на такие детские вопросы. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2019, 21:05 |
|
Вопрос к гуру С++
|
|||
---|---|---|---|
#18+
PetroNotC SharpDima Tпропущено... Не, вопрос о том что вместо стрелки it-> можно написать (*it). TCу непонятно зачем так пишут. Если честно, мне тоже интересно, как-то натыкался на такой синтаксис.вангую что это стиль С а не плюсов.А в чём разница между работой с указателями в Си и работой с указателями в С++? :) ... |
|||
:
Нравится:
Не нравится:
|
|||
16.09.2019, 14:33 |
|
|
start [/forum/topic.php?fid=57&msg=39857619&tid=2017569]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
39ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
69ms |
get tp. blocked users: |
2ms |
others: | 267ms |
total: | 425ms |
0 / 0 |