Я преобразую библиотеку регулярных выражений Perl в static boost :: xpressive code.
Мне неясно, нужно ли мне объявлять мою команду sregex просто внутри функции, использующей ее, или мне нужно объявить ее как static
или const
, чтобы полностью использовать преимущества компиляции во время компиляции.
Чтобы быть более понятным, какой из них даст лучший время компиляции код:
void myFunction()
{
...
sregex re = '<' >> (s1= +_w) >> '>' >> -*_ >> "</" >> s1 >> '>';
...
}
static sregex myClass::m_myre = '<' >> (s1= +_w) >> '>' >> -*_ >> "</" >> s1 >> '>';
static const sregex myClass::m_myre = '<' >> (s1= +_w) >> '>' >> -*_ >> "</" >> s1 >> '>';
Поскольку есть несколько тысяч выражений для перевода, мне действительно нужно быть уверенным в том, какой путь является оптимальным.
Может ли кто-нибудь ( экспертов ) посоветовать, пожалуйста?