== 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[]
