A primitive variable is just a memory block allocated in a static memory part and initialized by the compiler. The string object, however, is a variable initialized at runtime (in startup, probably), so the compiler adds an implicit call to the constructor and uses the variable as a parameter for that call. So the variable is being used.
The _unused
item of the structure is IMHO not a directive, but just a member variable, probably it is added for better alignment (fills the object size to a round size).