Когда CPP-склейка строк отменяется в необработанных строках C++0x, требуется ли соответствующая реализация для сохранения исходной последовательности новых строк?

В последнем проекте C++0x, n3126, говорится:

Каждый символ обратной косой черты (\), за которым сразу следует символ новой строки, удаляется, разделяя физические линии исходного текста для формирования логических линий исходного текста.

...

В пределах r-char-последовательности необработанного строкового литерала, любые преобразования, выполненные в фазах 1 и 2 (триграфы, универсальные имена символов и сращивание строк), возвращаются назад.

Технически это означает, что препроцессор C++ распознает только обратную косую черту, за которой следует символ новой строки, но я знаю, что некоторые реализации C++ также позволяют завершать строки в стиле Windows или классического Mac.

Будут ли соответствующие реализации C++0x обязаны сохранять последовательность новой строки, которая непосредственно следует за символом обратной косой черты \ в r-char-последовательности необработанной строки? Может быть, лучше задать вопрос: ожидается ли от компилятора Windows C++0x отмена каждого сращивания строк с помощью "\\\\r\n" вместо "\\\\\n"?

6
задан Brian Tompsett - 汤莱恩 19 June 2016 в 13:21
поделиться