Я новичок в C ++ и в настоящее время испытываю трудности с указателями.
Мне было интересно, есть ли предпочтительный метод кодирования между двумя методами, показанными ниже:
#include <iostream>
using namespace std;
int main(){
// method 1
int* n;
*n = 2;
cout << "address of n in main(): " << n << "\n"; //returns 0
cout << "value inside of n in main(): " << *n << "\n"; // returns 2
// method 2
int* m = new int(2);
cout << "address of m in main(): " << m << "\n"; //returns some address
cout << "value insdie of m in main(): " << *m << "\n"; // returns 2
}
Первый метод возвращает следующее:
address of n in main(): 0
value inside of n in main(): 2
Второй метод возвращает следующее:
address of m in main(): 0x6c2cc0
value inside of m in main(): 2
Q1. Какие могут быть проблемы с address of n in main():0
? (он ведет себя так только на онлайн-компиляторе, извините. Не обращайте внимания на этот вопрос.)
Q2. Как называется «новый» метод объявления?