Väliaikaiset objektit - ohjelmoinnissa objektit, jotka kääntäjä luo automaattisesti lausekkeiden arvioinnin aikana . Tällaisilla esineillä ei ole nimeä ja ne tuhotaan heti, kun niitä ei enää tarvita.
C++-kieli kutsuu niille konstruktoreita (tarvittaessa) ja destructoreita (lausekkeen suorittamisen jälkeen). Tämä on tärkeää esimerkiksi string_view C++17 -objektille .
Kun C++-taulukot alustetaan, väliaikainen objekti katoaa ennen kuin seuraava elementti alustetaan.
Tämä koodi toimii näin ( ctor - constructor , dtor - destructor ).
merkkijono r , tmp1 , tmp2 , tmp3 ; tmp1 . ctor ( "1" ); tmp2 . näyttelijä (); tmp2 = tmp1 + "2" ; tmp3 . näyttelijä (); tmp3 = tmp2 + "3" ; r . ctor ( tmp3 ); tmp3 . dtor (); tmp2 . dtor (); tmp1 . dtor ();C++ takaa, että väliaikainen merkkijono tuhoutuu myöhemmin kuin ne , jotka "loiset" siinä, "materialisoituvat" toiseksi, yhtä väliaikaiseksi merkkijonoksi . expandFileName(someFile)wstring_viewstd::wstring(...)
Melkein kaikki kielet (paitsi kaikkein matalan tason kielet) pystyvät luomaan automaattisesti tilapäisiä muuttujia yksinkertaisten tyyppien ( kokonaisluku , murtoluku , osoitin ) välituloksille. Monilla kielillä ( Pascal ) on samanlainen merkkijonojärjestelmä . Melkein kaikki roskakoriin kerätyt ohjelmointikielet ( C# , Java ) tuottavat minkä tahansa tyyppisiä välituloksia - loppujen lopuksi niille ei ole eroa pysyvän ja väliaikaisen objektin välillä. Vain C++ pystyy luomaan automaattisesti mielivaltaisen tyyppisiä väliobjekteja kutsumalla niiden rakentajaa ja destruktoria.