C или C++ имеет стандарт regex библиотекой?

Деструктор для таких временных файлов называют в конце полного выражения. Это - самое внешнее выражение, которое не является частью никакого другого выражения. Это находится в Вашем случае после функциональных возвратов, и значение оценено. Так, это будет работать все хорошие.

Это на самом деле, что делает шаблонную работу выражения: Они могут держать ссылки на такие временные файлы в выражении как

e = a + b * c / d

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

x = y

не оценено полностью. Это вполне кратко описано в 12.2 Temporary objects в Стандарте.

17
задан aviraldg 14 September 2009 в 09:35
поделиться

8 ответов

C ++ 11 теперь наконец-то имеет стандартную библиотеку регулярных выражений - std :: regex.

Если у вас нет доступа к реализации C ++ 11 хорошей альтернативой может быть регулярное выражение Boost . Это не полностью эквивалентно std :: regex (например, метод empty () отсутствует в std :: regex ), но тем не менее это очень зрелая реализация регулярного выражения для C ++.

31
ответ дан 30 November 2019 в 10:24
поделиться

В UNIX-подобных системах вы можете использовать функции регулярных выражений POSIX .

7
ответ дан 30 November 2019 в 10:24
поделиться

Пакет дополнительных компонентов 1 для Microsoft Visual C ++ 2008 (теперь включенный в пакет обновления 1 для Visual Studio 2008) содержит реализацию «официальных» типов reg ex TR1. Выбей себя: -)

6
ответ дан 30 November 2019 в 10:24
поделиться

Если под стандартом вы имеете в виду комплектный компилятор, то нет. Но большинство других языков, в которые входят расширения регулярных выражений, используют довольно стандартные реализации c . Например, PCRE - Perl-совместимое регулярное выражение и библиотеки C имеют поддержку регулярных выражений POSIX (см. страницу руководства ).

3
ответ дан 30 November 2019 в 10:24
поделиться

+1 для PCRE - Perl-совместимое регулярное выражение , я также вспомнил, что использовал GRETA от Mircosoft.

0
ответ дан 30 November 2019 в 10:24
поделиться

Проверьте библиотеку регулярных выражений Boost . Он должен стать частью стандарта с C ++ 0x.

5
ответ дан 30 November 2019 в 10:24
поделиться

Qt от Trolltech также имеет реализацию регулярного выражения, которую я считаю очень простой в использовании. Однако, если вы не планируете использовать Qt для чего-либо еще, я бы использовал Boost.Regex, так как вам, вероятно, будет лучше использовать Boost и для других целей.

1
ответ дан 30 November 2019 в 10:24
поделиться

Регулярные выражения являются частью расширения TR1 C ++. Dinkumware, visual studio и другие уже реализовали это. См.

Краткое руководство по регулярным выражениям C ++ TR1

Пакет дополнительных компонентов Visual C ++ 2008

2
ответ дан 30 November 2019 в 10:24
поделиться