Можно ли каким-либо образом (с использованием препроцессора C ++ и т. Д.) Заменить shared_ptr & lt; T & gt; с T $, слабый_tr & lt; T & gt; с T% и unique_ptr & lt; T & gt; с т?

Пока что кажется, что ответ — нет.

К сожалению, учитывая, насколько визуально более шумный код становится с shared_ptrs повсюду.

1

Решение

В C ++ 11 одним из возможных способов сделать это сейчас является использование псевдонимы (которые чище imo чем макросы). Например. для общих указателей вы можете сделать:

template<typename T>
using Shared = std::shared_ptr<T>;

Затем используйте его следующим образом:

Shared<int> myInt; // Is in fact a std::shared_ptr<int>

РЕДАКТИРОВАТЬ: Живой пример.

4

Другие решения


По вопросам рекламы [email protected]