Olha, que eu conheça fica tudo sempre como int64_t e na camada de apresentação você formata usando uma callback de formato: centavos -> divide por 100, se for bitcoin por exemplo divide por 10^8 e por aí vai.
Respondendo a "Caramba, muitíssimo obrigada pelas dicas. Já de..." dentro da publicação Criando um processador de carteiras em C++ - Dia 02: O primeiro commit
1