Inicialização da Estrutura C ++

É possível inicializar estruturas em C ++ conforme indicado abaixo

struct address {
    int street_no;
    char *street_name;
    char *city;
    char *prov;
    char *postal_code;
};
address temp_address =
    { .city = "Hamilton", .prov = "Ontario" };

Os linksAqui eAqui mencionar que é possível usar este estilo somente em C. Se sim, por que isso não é possível em C ++? Existe alguma razão técnica subjacente por que não é implementado em C ++, ou é uma prática ruim usar este estilo. Eu gosto de usar essa maneira de inicializar porque minha estrutura é grande e esse estilo me dá uma legibilidade clara do valor atribuído a qual membro.

Por favor, compartilhe comigo se existem outras maneiras através das quais podemos alcançar a mesma legibilidade.

Eu referi os seguintes links antes de postar esta questão

C / C ++ para AIXInicialização de Estrutura C com VariávelInicialização de estrutura estática com tags em C ++C ++ 11 Inicialização da Estrutura Adequada

questionAnswers(16)

yourAnswerToTheQuestion