If someone really want to deal with the complexity of supporting both character types depending on the environment it runs on, it is easy to create a tchar and tstring alias that depends on whether it is Windows or Linux, or on a custom version flag from a compiler switch, but that will be his choice and his responsibility to make everything work.