Object is already initialized on declaration?
<p>I'm trying to understand something in C++. Basically I have this:</p>

<pre><code>class SomeClass {
    public:
        SomeClass();
    private:
        int x;
};

SomeClass::SomeClass(){
    x = 10;
}

int main() {
    SomeClass sc;
    return 0;
}
</code></pre>

<p>I thought that sc is an uninitialized variable of type SomeClass, but from the various tutorials I found it looks like this declaration is actually an initialization that calls the SomeClass() contructor, without me needing to call "sc = new SomeClass();" or something like that.</p>

<p>As I come from the C# world (and know a bit C, but no C++), I'm trying to understand when I need stuff like new and when to release objects like that. I found a pattern called RAll which seems to be unrelated.</p>

<p>What is this type of initialization called and how do I know if something is a mere declaration or a full initialization?</p>
