В последнем проекте C++0x, n3126, говорится:
Каждый символ обратной косой черты (\), за которым сразу следует символ новой строки, удаляется, разделяя физические линии исходного текста для формирования логических линий исходного текста.
...
В пределах r-char-последовательности необработанного строкового литерала, любые преобразования, выполненные в фазах 1 и 2 (триграфы, универсальные имена символов и сращивание строк), возвращаются назад.
Технически это означает, что препроцессор C++ распознает только обратную косую черту, за которой следует символ новой строки, но я знаю, что некоторые реализации C++ также позволяют завершать строки в стиле Windows или классического Mac.
Будут ли соответствующие реализации C++0x обязаны сохранять последовательность новой строки, которая непосредственно следует за символом обратной косой черты \
в r-char-последовательности необработанной строки? Может быть, лучше задать вопрос: ожидается ли от компилятора Windows C++0x отмена каждого сращивания строк с помощью "\\\\r\n"
вместо "\\\\\n"
?