Como analisar e validar uma data em std :: string em C ++?

Estou trabalhando em um projeto onde tenho que ler uma data para ter certeza de que é uma data válida. Por exemplo, 29 de fevereiro é apenas uma data válida em anos bissextos ou 31 de junho não é uma data válida, portanto, o computador produziria essas informações com base na entrada. Meu problema é que não consigo descobrir como analisar a string para que o usuário possa inserir "05/11/1996" como uma data (por exemplo) e, em seguida, pegar isso e colocá-lo em números inteiros separados. Eu estava pensando em tentar fazer algo com um loop while e string, mas estou um pouco preso. Se alguém pudesse me ajudar com isso, eu realmente aprecio isso.

questionAnswers(4)

yourAnswerToTheQuestion