C++ 98 najwyraźniej ma to jako jeden ze standardów dla faz kompilacji. Co to znaczy i dlaczego jest początkowo wykonywane?Co oznacza "konwersja nazwy uniwersalnego znaku" w C++?
Odpowiedz
Uniwersalna nazwa postaci wygląda na \uFFFD
lub \U0010FFFD
. Jest to metoda pisania postaci w kodzie źródłowym, w której kodowanie kodu źródłowego nie obejmuje tej postaci.
C++ określa, że znaki spoza podstawowego zestawu znaków źródłowych zostaną przekształcone w nazwy uniwersalnych znaków w pierwszej fazie tłumaczenia. Powodem tego jest to, że uniwersalne nazwy postaci i znaki, które nie znajdują się w podstawowym zestawie znaków źródłowych, ale które są w źródłowym zestawie znaków, traktowane są identycznie.
as-jeśli zasada oznacza, że realizacja nie jest rzeczywiście konieczne do wykonania tej uniwersalnej Nazwa postaci tłumaczenia, o ile traktuje znaki rozszerzone napisane jak nazwy znaków uniwersalnych identycznie dodatkowe znaki, które pojawiają się dosłownie w źródle.
Czy wszystkie są znakami zakodowanymi w Unicode? Więc chińskie znaki są na przykład konwertowane na unicodefirst? – unj2
Tak, nazwy uniwersalnych znaków używają krótkich nazw Unicode (liczba Unicode jest powiązana z każdym znakiem). Na przykład, Unicode przypisuje znakowi "⻰" krótką nazwę U + 2EF0, a więc uniwersalną nazwą znaku dla tego znaku byłoby '\ u2EF0' lub' \ U00002EF0' – bames53
Tak więc napisałem program do przekonwertowania pliku źródłowego C++ na nic ale uniwersalne nazwy postaci. G ++ po raz pierwszy dał kilka błędów dotyczących używania uniwersalnych znaków w identyfikatorach, a następnie zakończył się z 'error: '#include
być może zaznaczyć odpowiedź jako poprawną? – Short