Каков наилучший способ иметь статический член в классе шаблонов без шаблонов, не ставя бремя определения члена на пользователя класса?
Скажем, я хочу предоставить этот класс:
class i_want_a_static_member
{
static expensive_resource static_resource_;
public:
void foo()
{
static_resource_.bar();
}
};
Тогда пользователь класса не должен забывать определять статический член где-то (как уже ответил много раз):
// this must be done somewhere in a translation unit
expensive_resource i_want_a_static_member::static_resource_;
У меня есть ответ ниже, но он имеет некоторые недостатки. Есть ли лучшие и/или более элегантные решения?