Wann konvertieren oder befördern C- und C ++ - Compiler einen Float implizit in Double?

Für ein eingebettetes Projekt würde ich gerne wissen, wann ein standardkonformer C-Compiler (C99) und C ++ - Compiler (C ++ 11) implizit eine Variable / einen Wert mit einem Gleitkomma in einen doppelten Gleitkomma umwandeln.

Mir sind zwei Fälle bekannt:

Literale, denen nicht @ angehängt if. Zum Beispiel:3.14Übergeben eines Floats, um mit variadischer Argumentliste zu funktionieren ...)

Gibt es noch andere? Was ist mit Vorlagen?

Die Antworten vondiese Frag sind auch für mich sehr hilfreich - hier als Referenz.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage