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

----
#define MY_WIDE_CONSTANT_MAP(x) my_wide_constant_string_map[x] = L#x;
----


== Compliant Solution

----
#define MY_WIDE_CONSTANT_MAP(x) my_wide_constant_string_map[x] = L###x;
----

