почему буст :: некопируемый требует наследования

Добавление в класс любого некопируемого члена предотвратило бы автоматическое создание копирующего оператора построения и присваивания. Почему усиление требует наследования для использования noncopyable?

Я думаю, что я не одинок в своем стилистическом предпочтении

class MyUtility : public MyBase
{
   noncopyable guard;
   ...
};

в отличие от

class MyUtility : public MyBase , private noncopyable
{
   ...
};

Дэйв Абрахамс - умный парень, поэтому он, вероятно, рассмотрел эту возможность. Что мне не хватает? Что дает наследование?

26
задан Mark Borgerding 28 January 2011 в 15:07
поделиться