Ideiglenes objektumok - a programozásban olyan objektumok, amelyeket a fordító automatikusan létrehoz a kifejezések kiértékelése során . Az ilyen tárgyaknak nincs neve, és megsemmisülnek, amint már nincs rájuk szükség.
A C++ nyelv konstruktorokat (szükség szerint) és destruktorokat (a kifejezés végrehajtása után) hív meg. Ez fontos például a string_view C++17 objektumnál .
A C++ tömbök inicializálásakor az ideiglenes objektum eltűnik a következő elem inicializálása előtt.
Ez a kód így működik ( ctor - konstruktor , dtor - destruktor ).
string r , tmp1 , tmp2 , tmp3 ; tmp1 . ctor ( "1" ); tmp2 . színész (); tmp2 = tmp1 + "2" ; tmp3 . színész (); tmp3 = tmp2 + "3" ; r . ctor ( tmp3 ); tmp3 . dtor (); tmp2 . dtor (); tmp1 . dtor ();A C++ garantálja, hogy az ideiglenes karakterlánc később megsemmisül, mint azok , amelyek "parazitálnak" rajta, és egy másik, ugyanilyen ideiglenes karakterláncba "materializálódnak" . expandFileName(someFile)wstring_viewstd::wstring(...)
Szinte minden nyelv (kivéve a legalacsonyabb szintű nyelveket) képes automatikusan ideiglenes változókat létrehozni az egyszerű típusú ( egész , tört , mutató ) köztes eredményekhez. Sok nyelvben ( Pascal ) van hasonló rendszer a karakterláncokhoz . Szinte minden szemétbe gyűjtött programozási nyelv ( C# , Java ) bármilyen típusú köztes eredményt produkál – elvégre számukra nincs különbség állandó és ideiglenes objektum között. Csak a C++ képes automatikusan létrehozni tetszőleges típusú köztes objektumokat konstruktoruk és destruktoruk meghívásával.