Czyli jak uciec od escapowania znaków specjalnych w C++.
Niby drobiazg, ale…
…warto go znać. Mianowicie, zamiast pisać jak dotychczas:
string path = "D:\\torrent\\nightwish\\";
, możemy teraz napisać:
string path = R"(D:\torrent\nightwish\)";
, nie bawiąc się już w escapowanie znaków specjalnych.
Jak to działa?
Nowy standarc C++ daje nam konstrukcję R”( … )”.
Wszystko to, co wewnątrz R”( … )” będzie potraktowane jako raw string. Czyli bez przetwarzania symboli:
\” \\ \0 \n \t
, i tak dalej (patrz: pełna lista escape characters).
Podsumowując
Konstrukcja raw string może być i IMO jest odrobinę… toporna (po co te nawiasy?), ale ułatwia życie. Szczególnie, kiedy przychodzi do pisania wyrażeń regularnych.
…tak więc – enjoy new feature, folks! ;)