0
RUS: int *p = new int(); Что делает значение в скобках? И где можно это применить?
8 Answers
+ 1
Параметры конструктора. В данном случае дефолтного конструктора копирования типа int, который копирует 5 из своего аргумента со стека в создаваемый объект в куче. (на самом деле там немного другой конструктор, но рассказ о то, что такое r-value reference слишком долгий и сложный). Адрес созданного объекта возвращается оператором new и оператором = помещается в переменную p, расположенную на стеке (на самом деле тут тоже будет вызван конструктор копирования для типа int*, но это уже тонкости).
+ 1
Это вызов конструктора. Если конструктор ккласса принимает аргументы то тут их и передают.
+ 1
Кажется это просто присваивание значения через указатель( я только учусь :-D)
+ 1
Это создание объекта в куче. Чтобы создать объект где бы то ни было, нужно позвать его конструктор.
0
Разве это не с указателями и динам. памятью связано?
0
А значение в скобках? ()
0
к примеру int *p = new int(5)
0
Спасибо, теперь я понял про что Вы писали)