В чем разница между этими двумя типами создания экземпляров и методов?Методы создания объектов в C++
Возьмите этот код, например:
class Test
{
public:
Test(int nrInstance)
{
std::cout << "Class " << nrInstance << " instanced " << std::endl;
}
~Test() { }
int retornaValue()
{
return value;
}
private:
const int value = 10;
};
int main(int argc, char *argv[])
{
Test *test1 = new Test(1);
Test test2(2);
std::cout << test1->retornaValue() << std::endl;
std::cout << test2.retornaValue() << std::endl;
return 0;
}
Из того, что ив читать, используя первый способ, переменная выделяется в куче, а во-вторых, в стеке, но Арент как внутри Main
сферы , и освобождается после выхода функции?
Кроме того, вызывающие методы в обоих примерах различны, почему?
Спасибо за редактирование @remyabel, этот способ лучше, он избегает путаницы. – Leandragem
У вас мало понимания C++. Вы должны, вероятно, провести некоторое исследование или прочитать книгу, прежде чем задавать такие основные вопросы. Это C++ 101 – Falmarri
Ну, ты прав. Я новичок в C++, но я пытаюсь лучше понять эти темы, прежде чем перейти к следующему шагу. Вы порекомендовали бы хороший материал для чтения для C++? – Leandragem