LINUX.ORG.RU

Идеологический вопрос по С++


0

0

Заранее прошу не пинать ногами :) Вопрос скорее всего неоднократно разобран в умных книжках, но времени на их чтение нету. Итак: Можно ли (и как, если можно) в С++ создать глобальный объект, к которому будет доступ из объекта любого класса входящего в проект. Нужен доступ, разумеется, только к public функциям-членам класса. Иначе говоря. может быть так будет понятнее есть,например, классический пример распределенных систем на примере решения задачи "круиз-контроля". Крутятся несколько потоков в рамках одного процесса и каждый решает свою задачу (кто-то двигателем управляет, кто-то действия водителя обрабатывает и т.д.) и существуют данные, единые для всей системы (сколько проехала машина, какая текущая скорость и т.д.) так вот как организовать чтобы любой поток получил возможность взаимодействия с этими "глобальными" объектами?

P.S. Буду очень признателен если еще и дадите ссылку на электронные документы которые могут быстро помочь человеку вспомнить С++ при условии что давно-давно человек работал с этим языком

Re: Идеологический вопрос по С++

счинглтон? Ключевое слово паттерны проектирования:) Книжек по этой тематике как грязи:)

anonymous ()

Re: Идеологический вопрос по С++

А просто статический класс не подойдет? хотя если потоки будут писать/читать данные одновременно, синхронизацию надо будет делать... хотя ее в любом случае, похоже, надо делать.

johnk ()

Re: Идеологический вопрос по С++

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

friday ★★★ ()

Re: Идеологический вопрос по С++

Класс со статической функцией, которая возвращает указатель на нужный обьект данных. ( Сам обьект является static data member в этом классе )

anonymous ()
Ответ на: Re: Идеологический вопрос по С++ от anonymous

Re: Идеологический вопрос по С++

Это и есть singleton pattern, за подробностями в google или к Александреску ( второе предпочтительней )

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