Но ,как я понимаю, массив staticA будет разным для объектов с разным типом шаблона; мне же нужно чтобы он был общим для всех них. Конечно, можно использовать безымянное пространство имен в файле реализации, но т. к. важна эффективность, я хочу сделать некоторые функции инлайновыми, а из них тогда не будет доступно внутреннее пространство имен файла реализации.
Как это можно обойти?
Унаследуй TemplateClass от нешаблонного BaseClass в котором объяви нужную переменную.
Только обращаться к ней надо будет this->staticA а не staticA (или BaseClass::staticA)
Унаследуй TemplateClass от нешаблонного BaseClass в котором объяви нужную переменную.
Только обращаться к ней надо будет this->staticA а не staticA (или BaseClass::staticA)
но т. к. важна эффективность, я хочу сделать некоторые функции инлайновыми, а из них тогда не будет доступно внутреннее пространство имен файла реализации.
Как это можно обойти?
По-мойму ты ставишь ложные цели и ложными же путями пытаешься их решить.
Профайлер показал что в этом месте (не встраивание этой функции) критический участок по производительности?
Другими словами не надо придумывать (маяться) несуществующими/несущественными проблемами и потом героически их преодоливать.
з.ы. есессно имхо основанное исключетельно на первом сообщении топика.