Если вы хотите выделить память для целого числа, вы можете сказать new int;
, как вы это сделали здесь.
Ключевое слово new
будет принимать любой (не пустой) тип.Поэтому, если вы хотите выделить указатель (который будет иметь тип int*
), вы можете просто сказать: new int*
;
Пример (сильно надуманный) может выглядеть следующим образом:
int thing = 7;
int **ptr = new int*(&thing);
std::cout << "**ptr = " << **ptr << std::endl;
Обратите внимание, что, поскольку new
будет возвращать адрес, указывающий на какой бы тип мы ни выделяли (в данном случае int*
), нам нужно будет присвоить его переменной int**
.
* 1017С учетом всего вышесказанного вам вряд ли когда-нибудь понадобится выделить необработанный
new int*
.Скорее всего, вы столкнулись бы с чем-то похожим, если бы имели дело с динамически размещаемыми многомерными массивами.
Но в любой из этих ситуаций я бы настоятельно рекомендовал бы , используяболее современные методы управления памятью с помощью интеллектуальных указателей .