shared_ptr с шаблонами

Предыдущие ответы описывают, каков sharepoint, но не делайте хорошего задания, описывающего, почему это популярно. Да, это дает Вам всем этот аккуратный материал управления документа из поля. Да, это интегрируется плотно с Office.

функции OOB являются 1/10-ми из целой истории. Sharepoint представляет всестороннюю.Net объектную модель, которая позволяет Вам настроить вещь к своему содержанию основ. Люди кодируют удивительный вещи с MOSS 2007. С объектной моделью можно создать и настроить сайты через код, в ответ на внешние события. Можно записать пользовательские "веб-части" (средства управления, размещенные на специальных страницах), которые используют и внутренний (sharepoint) и внешние данные.

Выезд Блоги Sharepoint для наблюдения то, что люди делают с ним.

5
задан Kirill V. Lyadvinsky 10 November 2009 в 18:55
поделиться

3 ответа

Если вас интересует фиксированный тип шаблона для B , то я поддерживаю ответ xtofl. Если вы хотите позже указать аргумент шаблона B , C ++ не позволяет вам этого делать (хотя он будет изменен в C ++ 0x). Обычно вам нужен такой способ обхода:

template <typename T>
struct B_Ptr
{
    typedef boost::shared_ptr< B<T> > type;
};

B_Ptr<char>::type pB0 = ...;

(Спасибо UncleBens за улучшения.)

7
ответ дан 18 December 2019 в 07:30
поделиться

Это будет

typedef shared_ptr< B<char> > B_Ptr;
B_Ptr p( new B<char> );
p->value = 'w';
7
ответ дан 18 December 2019 в 07:30
поделиться

То, что вы хотите, пока невозможно в C ++. Вам нужны «определения типов шаблонов», которые будут известны в C ++ 0x как «шаблоны объявления псевдонимов»:

template<typename T>
struct A {};

template<typename T>
using APtr = boost::shared_ptr<A<T>>;  // <-- C++0x

int main() {
    APtr<int> foo;
}

Думаю, вы могли бы сделать что-то подобное в C ++ 98 с помощью макроса, если действительно хотите.

4
ответ дан 18 December 2019 в 07:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: