C ++: Obtendo um arquivo temporário, multiplataforma

Estou procurando uma maneira multiplataforma de ser designado como um arquivo temporário. Por exemplo, no Linux que estaria no/tmp dir e no Windows em algum arquivo temporário de baixa qualidade denominado diretório dir do Internet Explor

Existe uma solução multiplataforma (Boost?) Para isso?

EDITA:

Eu preciso que esse arquivo exista até que o programa termine.tmpfile() não garante isso. Citando ccpreference:

O arquivo temporário criado é excluído automaticamentequando o fluxo estiver fechado (fclose) ou quando o programa terminar normalment

questionAnswers(6)

yourAnswerToTheQuestion