Boost :: Xpressive - оптимальные определения - PullRequest
0 голосов
/ 21 марта 2019

Я преобразую библиотеку регулярных выражений 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 >> '>';

Поскольку есть несколько тысяч выражений для перевода, мне действительно нужно быть уверенным в том, какой путь является оптимальным.

Может ли кто-нибудь ( экспертов ) посоветовать, пожалуйста?

...