HLFX.Ru Forum Страницы (2): « 1 [2]
Показать все 19 сообщений этой темы на одной странице

HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Технические вопросы (https://hlfx.ru/forum/forumdisplay.php?forumid=20)
-- Задачка на сообразительность (https://hlfx.ru/forum/showthread.php?threadid=4839)


Отправлено FreeSlave 14-08-2016 в 15:27:

Насколько я понимаю, вопрос задан под влиянием книги Саттера. Но даже он не даёт ответ, ибо вместо возвращения настоящего указателя предлагает возвращать обертку.

А ещё по идее нужно сделать, чтоб работали вот такие вещи:

code:
foo_t f = foo(); f(); (*f)(); foo_t f2 = f();


Что мне вовсе не представляется возможным.


Отправлено Дядя Миша 14-08-2016 в 15:30:

Цитата:
XaeroX писал:
Я, кстати, не говорил, что у этой задачи есть правильное решение.

но и практического применения тоже нет

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено XaeroX 14-08-2016 в 16:01:

Цитата:
FreeSlave писал:
Но даже он не даёт ответ, ибо вместо возвращения настоящего указателя предлагает возвращать обертку.

Он даёт ответ для плюсов, но не для чистого С.
Цитата:
FreeSlave писал:
Что мне вовсе не представляется возможным.

Я не вижу проблем. Вот навскидку написал код (СПОЙЛЕР!!!):
Скрытый текст:
Этот текст скрытый. Вы должны оставить хотя бы одно сообщение в теме, чтобы его увидеть.

Цитата:
FreeSlave писал:
вместо возвращения настоящего указателя предлагает возвращать обертку.

Ну так обвёртка (как я показал выше) может семантически выглядеть как "настоящий" указатель. Она и является указателем, если отбросить синтаксическую шелуху и посмотреть на её представление в памяти.

__________________

xaerox on Vivino


Отправлено XaeroX 16-08-2016 в 10:29:

Ладно, что-то все замолчали, выношу своё решение на критику:

Скрытый текст:
Этот текст скрытый. Вы должны оставить хотя бы одно сообщение в теме, чтобы его увидеть.


Критикуйте/опровергайте.

__________________

xaerox on Vivino


Временная зона GMT. Текущее время 20:44. Страницы (2): « 1 [2]
Показать все 19 сообщений этой темы на одной странице

На основе vBulletin версии 2.3.0
Авторское право © Jelsoft Enterprises Limited 2000 - 2002.
Дизайн и программирование: Crystice Softworks © 2005 - 2024