Showing posts with label ATL. Show all posts
Showing posts with label ATL. Show all posts

Thursday, November 17, 2011

using namespace

Есть хорошая книга котрую я давно читал – «Стандарты программирования на C++ 101 правило и рекомендация» Герб Саттер, Андрей Александреску. Там была вот такая рекомендация №59: «Не используйте using для пространств имен в заголовочных файлах или перед директивой #include». И вот я заметил, что в коде сгенеренным мастером ATL используется using namespace в *.h:

...
using namespace ATL;

// CNoNamePreview
class ATL_NO_VTABLE CNoNamePreview :
    public CComObjectRootEx< CComSingleThreadModel >,
    public CComCoClass< CNoNamePreview, &CLSID_NoNamePreview >,
    public IObjectWithSiteImpl< CNoNamePreview >,
...

Вроде ничего такого, т.к. этот хедер дальше нигде не должен включатся. Но как-то непривычно что-ли. То что выше относится к MSVS2010sp1, а вот так делал мастер в MSVS2008sp1:

// stdafx.h
...
#define _ATL_NO_AUTOMATIC_NAMESPACE
...
using namespace ATL;
...

Wednesday, May 26, 2010

Литература по СОМ

Для изучения я бы рекомендовал такую последовательность:
-Andrew Troelsen - "Developer's Workshop to COM and ATL 3.0"
-Christopher Tavares - "ATL Internals: Working with ATL 8 (2nd Edition)"
-Don Box - "Essential COM"
-Kraig Brockschmidt - "Inside OLE, 2nd Edition"

Все эти книги (кроме последней) есть на русском языке. Также все они есть у меня в электронном виде, если кому нужно - могу выслать.