Не до конца могу уловить плюс от конструкций типа:
class Option
{
public:
typedef Namespace::SharedPtr<Option> Ptr;
....
}
typedef std::vector<Option::Ptr> options;
В чем плюс такой конструкции? Почему не можно обойтись без Ptr
и сделать просто typedef std::vector<Option> option
?
Если добавить немного условного кода, то будет понятнее смысль определений новых имен.
namespace Namespace {
template < class T>
struct SharedPtr {/*...*/};
}
class Option
{
public:
typedef Namespace::SharedPtr<Option> Ptr;
Ptr mf1();
void mf2(Ptr);
//...
private:
Ptr next;
};
typedef std::vector<Option::Ptr> options;
options& erace(options& v, Option::Ptr)
{ /*...*/ }
//...
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Хотелось бы через libcurl отправлять свой Unicode текст и получать ответ на вот этом сайте https://wwwdcode
UPD: удалил вторую часть вопроса, оставил чисто мьютекс и лок-гард