(извините, возможно, это не самый актуальный вопрос...)
Согласно https://en.cppreference.com/w/cpp/language/string_literal:
""" Широкий строковый литерал. Тип L"..." строкового литерала: const wchar_t[N] """
однако в этом случае g++, похоже, выбирает const wchar_t*:
auto sw = L"foo";
cout << "type : " << typeid(sw).name() << " >" << sw << "<\n";
cout << " type : " << typeid( const wchar_t * ).name() << " | type : " << typeid( const wchar_t [] ).name() << "\n";
который дает следующий вывод на GCC 5.4.0:
type : PKw >0x401470<
type : PKw | type : A_w
Я правильно понял?
abi::__cxa_demangle(typeid(T).name(), 0, 0, 0);
из#include <cxxabi.h>
, чтобы разобрать имя с помощью g++ - person Geoffroy   schedule 20.04.2020const wchar_t *
иconst wchar_t[N]
эквивалентны, поскольку массивы — это просто указатели. - person Aplet123   schedule 20.04.2020