|
указатель на функцию, возвращающую указатель на int
|
|||
---|---|---|---|
#18+
функция, возвращающая указатель на int Код: plaintext 1.
в функции код-таймер я хочу передать указатель на функцию linear_search, я сделала это так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22.
но засомневалась и решили спросить, правильно я это сделалала или нет. если неправильно, то как? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2020, 12:44 |
|
указатель на функцию, возвращающую указатель на int
|
|||
---|---|---|---|
#18+
mini.weblab, я думаю, что main должен выглядеть так (хотя это никак не влияет на результат...) Код: plaintext 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2020, 14:27 |
|
указатель на функцию, возвращающую указатель на int
|
|||
---|---|---|---|
#18+
mini.weblab но засомневалась и решили спросить, правильно я это сделалала или нет. если неправильно, то как? Все правильно, но можно улучшить )) 1) Чтобы не мучаться с указателями на функцию, можно объявить отдельно тип функции и потом работать с простым синтаксисом указателя на тип. Код: plaintext 1. 2. 3. 4. 5. 6.
2) Код: plaintext 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2020, 15:45 |
|
указатель на функцию, возвращающую указатель на int
|
|||
---|---|---|---|
#18+
спасибо :) ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2020, 15:49 |
|
указатель на функцию, возвращающую указатель на int
|
|||
---|---|---|---|
#18+
Anatoly Moskovsky 2) Код: plaintext 1. 2. 3.
этот момент я не понимаю. на каком основании можно использовать (*search_algorithm)(...); вместо (search_algorithm)(...); ? почему они эквивалентны? Дейтел по этому поводу пишет: a pointer to a function is dereferenced to use the function. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2020, 20:30 |
|
указатель на функцию, возвращающую указатель на int
|
|||
---|---|---|---|
#18+
По-простому: имя функции это просто указатель на ее точку входа, адрес первого байта кода функции. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2020, 20:37 |
|
указатель на функцию, возвращающую указатель на int
|
|||
---|---|---|---|
#18+
Dima T, у меня были подозрения, что функция в этой ситуации ведет себя также, как и массив. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2020, 21:52 |
|
указатель на функцию, возвращающую указатель на int
|
|||
---|---|---|---|
#18+
mini.weblab Dima T, у меня были подозрения, что функция в этой ситуации ведет себя также, как и массив. Умно, но в логическом отношении, я бы предложил перевернуть формулировку: массив всегда ведет себя как функция с параметром, передаваемым по значению. Разница возникает в интерпретации адреса для возвращаемого значения. Для массива она гарантированно проще, и удачно приводит к понятию итератора в c++, при рассмотрении этого вопроса с точки зрения абстрактных типов данных Из этого, со временем, умеются много гитик. Молодец, славно. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.09.2020, 00:13 |
|
указатель на функцию, возвращающую указатель на int
|
|||
---|---|---|---|
#18+
mini.weblab этот момент я не понимаю. на каком основании можно использовать (*search_algorithm)(...); вместо (search_algorithm)(...); ? почему они эквивалентны? Они не эквивалентны. (search_algorithm)(...) можно использовать вместо (*search_algorithm)(...) но не наоборот. UPD: Упс, оказывается таки можно (*search_algorithm)(...) , если search_algorithm это функция а не указатель. Ну, значит эквивалентны. )) ... |
|||
:
Нравится:
Не нравится:
|
|||
11.09.2020, 10:42 |
|
указатель на функцию, возвращающую указатель на int
|
|||
---|---|---|---|
#18+
с указателями на функцию я пока что "на вы", я очень долго разбиралась, как их правильно разыменовывать. Кстати, про массивы и указатели на массивы написано почти в каждом учебнике, а про функцию и указатели на функцию практически нигде, и если написано, то очень поверхностно. Хотя с другой стороны, указатели на функцию это где-то близко к экзотике. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.09.2020, 21:48 |
|
указатель на функцию, возвращающую указатель на int
|
|||
---|---|---|---|
#18+
mini.weblab, вовсе нет, на них весь ооп норвежского посола стоит. Таблица виртуальных методов - это массив указателей на функции. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.09.2020, 22:20 |
|
указатель на функцию, возвращающую указатель на int
|
|||
---|---|---|---|
#18+
mini.weblab Dima T, у меня были подозрения, что функция в этой ситуации ведет себя также, как и массив. в асме ф-я открывается отдельными инструкциями и закрывается инструкциями а массив - это просто ячейки подряд там указатель на первую ячейку + кол-во ячеек ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2020, 02:03 |
|
|
start [/forum/topic.php?fid=57&fpage=6&tid=2017338]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
69ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
50ms |
get tp. blocked users: |
2ms |
others: | 13ms |
total: | 177ms |
0 / 0 |