Я программист на Си, который пытается сделать маленькие шаги в C ++ и объектно-ориентированном программировании. Я столкнулся со следующим синтаксисом и не смог полностью обдумать его - почему у переменной здесь есть аргументы при ее определении?
unique_ptr<int> myvar(new int);
Я понимаю, что unique_ptr
принимает необработанный указатель в качестве аргумента для своего конструктора, но каково обоснование этого синтаксиса? Это синтаксис, введенный позже, чем C ++ 98?
EDIT:
Что меня особенно смущает, так это наличие скобок, следующих сразу за новым именем переменной. Для меня - это то, как функции объявлены. Сначала я думал, что код объявляет функцию с именем myvar
, но я знал, что это, вероятно, неправильно.
Чем это отличается от синтаксиса, подобного C или C ++ 98? Есть ли название для этого типа синтаксиса?