Указатель NULL
- это тот, который указывает на никуда. Когда вы разыскиваете указатель p
, вы говорите «дайте мне данные в месте, хранящемся в« p ». Когда p
является нулевым указателем, местоположение, хранящееся в p
, является nowhere
, вы говорите «Дайте мне данные в месте« нигде ». Очевидно, он не может этого сделать, поэтому он выбрасывает NULL pointer exception
.
В общем, это потому, что что-то не было правильно инициализировано.
Спасибо за все предложения.
я испытал несколько вещей сегодня, и с материалом мы пытаемся сделать, я выбрал простое решение, где я не должен загружать никакую другую стороннюю библиотеку. В конце, я #include < regex.h> и используемый стандарт C POSIX называет regcomp () и regexec (). Не C++, но в повышении это оказалось самым легким.
Повышение. Regex очень хорош и намечен для становления частью C++ 0x стандарт (это уже находится в TR1).
Лично, я нахожу Повышение. Xpressive, намного более хороший работать с. Это - библиотека только для заголовка, и это имеет некоторые хорошие функции, такие как статический regexes (regexes скомпилированный во время компиляции).
Обновление: , Если Вы используете C++ 11 совместимых компиляторов (gcc 4.8 не!), используйте станд.:: regex, если у Вас нет серьезного основания использовать что-то еще.
В проектах C++ мимо, я использовал PCRE с хорошим успехом. Это очень завершено и хорошо протестировано, так как это используется во многих высоких проектах профиля. И я вижу, что Google внес ряд оберток C++ для PCRE недавно, также.
C++ имеет встроенную regex библиотеку начиная с TR1. regex библиотека Повышения AFAIK очень совместима с ним и может пользоваться как замена, если Ваша стандартная библиотека не обеспечивает TR1.
Повышение имеет regex в нем.
, Который должен подойти
Я лично всегда использовал boost.regex (хотя у меня нет большого количества потребности в regex в C++). Microsoft Labs имеет regex библиотеку также, названный GRETA: http://research.microsoft.com/projects/greta/ . По-видимому, это очень быстро и показывает целый синтаксис Perl 5. Я не использовал его, но можно хотеть проверить его.
Я столкнулся с похожей ситуацией и в итоге использовал Henry Spencers Regexp Engine http://www.codeproject.com/KB/string/spencerregexp.aspx