O que é "objeto de sentinela" em C ++?

I respondidas estaPergunta, questãoePotatoswatter respondidas também como

O equivalente moderno em C ++ seria um objeto sentinela: construa-o no início de uma função, com seu construtor implementando call () e, ao retornar (ou sair anormal), seu destruidor implementa

Não estou familiarizado com o uso de objetos sentinela em C ++. Eu pensei que eles estavam limitados a fluxos de entrada e saída.

Alguém poderia me explicar sobre objetos de sentinela em C ++ e como usá-los como um interceptador alternativo para um ou mais métodos em uma classe?

ou seja, como fazer isso?

Objetos de sentinela são realmente muito semelhantes. Por um lado, eles exigem instanciação explícita (e passam por isso), mas, por outro lado, você pode adicioná-los para que eles verifiquem não apenas os invariantes da classe, mas algumas condições pré / pós para a função em questão.

questionAnswers(3)

yourAnswerToTheQuestion