Вложенная функция C ++ с указателем в качестве возвращаемого значения

0

У меня есть класс, содержащий указатель

template<Foo> class Class{
    Foo * ptr;
public:
    //constructors, assignment
    Foo* view(){return ptr;}
}

и функция, принимающая Foo* в качестве аргумента

double fn(Foo*){ /*Implementation*/ }

Выполняет ли реализация

Class C;
fn(C.view());

привести к тому, что член класса ptr будет скопирован?

Теги:
pointers
function
copy
nested

1 ответ

3
Лучший ответ

Да, указатель передается по значению, т.е. Копируется. Возможно, дважды, в зависимости от оптимизации. То, на что указывает, не копируется.

  • 0
    Не мог бы сказать это лучше.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню