Конструктор System::SmartPtr::SmartPtr

SmartPtr::SmartPtr(const SmartPtr<Array<Y>>&, SmartPtrMode) constructor

Преобразует тип ссылочного массива, создавая новый массив другого типа. Полезно, если в C# есть приведение типа массива, которое не поддерживается в C++.

template<typename Y> System::SmartPtr<T>::SmartPtr(const SmartPtr<Array<Y>> &src, SmartPtrMode mode=SmartPtrMode::Shared)
ПараметрОписание
YТип исходного массива.
ПараметрТипОписание
srcconst SmartPtr<Array<Y>>&Указатель на массив, копию которого нужно создать, но с элементами другого типа.
режимSmartPtrModeРежим указателя.

См. также

SmartPtr::SmartPtr(const SmartPtr<P>&, Pointee_ *, SmartPtrMode) constructor

Создаёт SmartPtr, который разделяет информацию о владении с исходным значением ptr, но содержит несвязанный и неуправляемый указатель p.

template<typename P> System::SmartPtr<T>::SmartPtr(const SmartPtr<P> &ptr, Pointee_ *p, SmartPtrMode mode=SmartPtrMode::Shared)
ПараметрТипОписание
ptrconst SmartPtr<P>&Другой умный указатель для совместного владения с исходным указателем.
pPointee_ *Указатель на объект для управления.
режимSmartPtrModeРежим указателя.

См. также

SmartPtr::SmartPtr(const SmartPtr<Q>&, SmartPtrMode) constructor

Создаёт копию объекта SmartPtr. Оба указателя после этого указывают на один и тот же объект. Выполняет преобразование типа, если это разрешено.

template<class Q,typename> System::SmartPtr<T>::SmartPtr(const SmartPtr<Q> &x, SmartPtrMode mode=SmartPtrMode::Shared)
ПараметрОписание
QТип объекта, на который указывает x.
ПараметрТипОписание
xconst SmartPtr<Q>&Указатель для копирования.
режимSmartPtrModeРежим указателя.

См. также

SmartPtr::SmartPtr(const SmartPtr_&, SmartPtrMode) constructor

Создаёт копию объекта SmartPtr. Оба указателя после этого указывают на один и тот же объект.

System::SmartPtr<T>::SmartPtr(const SmartPtr_ &ptr, SmartPtrMode mode=SmartPtrMode::Shared)
ПараметрТипОписание
ptrconst SmartPtr_&Указатель для копирования.
режимSmartPtrModeРежим указателя.

См. также

SmartPtr::SmartPtr(const Y&) constructor

Инициализирует пустой массив. Используется для преобразования некоторых конструкций кода C#.

template<typename Y,typename> System::SmartPtr<T>::SmartPtr(const Y &)
ПараметрОписание
YЗаполнитель типа EmptyArrayInitializer.

См. также

SmartPtr::SmartPtr(Pointee_ *, SmartPtrMode) constructor

Создаёт SmartPtr, указывающий на указанный объект, или преобразует необработанный указатель в SmartPtr.

System::SmartPtr<T>::SmartPtr(Pointee_ *object, SmartPtrMode mode=SmartPtrMode::Shared)
ПараметрТипОписание
объектPointee_ *Pointee.
режимSmartPtrModeРежим указателя.

См. также

SmartPtr::SmartPtr(SmartPtr_&&, SmartPtrMode) constructor

Перемещающая конструкция объекта SmartPtr. По сути, меняет местами два указателя, если они находятся в одинаковом режиме. После вызова x может стать недоступным.

System::SmartPtr<T>::SmartPtr(SmartPtr_ &&x, SmartPtrMode mode=SmartPtrMode::Shared) noexcept
ПараметрТипОписание
xSmartPtr_&&Указатель для перемещения.
режимSmartPtrModeРежим указателя.

См. также

SmartPtr::SmartPtr(SmartPtrMode) constructor

Создаёт объект SmartPtr требуемого режима.

System::SmartPtr<T>::SmartPtr(SmartPtrMode mode)
ПараметрТипОписание
режимSmartPtrModeРежим указателя.

См. также

SmartPtr::SmartPtr(std::nullptr_t, SmartPtrMode) constructor

Создаёт объект SmartPtr с нулевым указателем требуемого режима.

System::SmartPtr<T>::SmartPtr(std::nullptr_t=nullptr, SmartPtrMode mode=SmartPtrMode::Shared)
ПараметрТипОписание
режимstd::nullptr_tРежим указателя.

См. также