== Why is this an issue? Cumulatively, saved keystrokes can add up to a lot of saved time. Or at least it can feel that way. So the difference between using ``++L#macro_arg++`` and ``++L###macro_arg++`` to create a wide string literal may seem perfectly justified because MSVC yields the same result for each. But if you ever need to switch to another compiler, that saved time - and then some - will be lost. So it's best to use the cross-compiler standard from the start. === Noncompliant code example [source,cpp] ---- #define MY_WIDE_CONSTANT_MAP(x) my_wide_constant_string_map[x] = L#x; ---- === Compliant solution [source,cpp] ---- #define MY_WIDE_CONSTANT_MAP(x) my_wide_constant_string_map[x] = L###x; ---- ifdef::env-github,rspecator-view[] ''' == Implementation Specification (visible only on this page) === Message Use "L###xxx" instead. endif::env-github,rspecator-view[]