Browse DevX
Sign up for e-mail newsletters from DevX

Tip of the Day
Home » Tip Bank » C++
Language: C++
Expertise: Beginner
Dec 15, 2001



Building the Right Environment to Support AI, Machine Learning and Deep Learning

The Storage Type of Temporaries

A temporary object is destroyed at the end of the full expression in which it was created. Consider the following example:
#include <string>
#include <cstring> // for strlen()

string s1, s2;
int len=(s1+s2).c_str(); // temporary created 

When the expression 's1+s2' is evaluated, C++ creates a temporary object that stores the result. C++ destroys the temporary only after the 'nearest semicolon'. In our example, only after the c_str() call and the assignment to len have taken place does C++ destroy the temporary object. Remember that temporary objects are always allocated on the stack. Therefore, you should never attempt to destroy them explicitly.
Danny Kalev
Comment and Contribute






(Maximum characters: 1200). You have 1200 characters left.



Thanks for your registration, follow us on our social networks to keep up-to-date