Присвоение значения переменной в c++ переданной по указателю

149
28 ноября 2017, 22:37
string m = "dds";
string* temp = new string;

Как с помощью конструктора копирования из string присвоить значению, на которое ссылается temp, значение m?

p.s. Правильно ли я понимаю, что при разыменовании temp возвращется rvalue? изменение которого никак не влияет на содержимое переменной, на которую указывает temp?

Answer 1

Если вас интересует именно конструктор копирования, то должен вас огорчить - присваивать (а не создавать) с помощью конструктора - нонсенс.

Думаю, вы просто хотите

string * temp = new string(m);

Здесь конструктор копирования используется при создании объекта, на который указывает temp.

Если присвоить - то с помощью копирующего присваивания:

*temp = m;

Нет, неправильно. *temp вполне lvalue. Смотрите сами - https://ideone.com/ZkagqR

READ ALSO
List C++ Удаление конкретного элемента List

List C++ Удаление конкретного элемента List

Нужно удалить второй элемент из listВсе работает как надо

162
Структурирование данных JAVA

Структурирование данных JAVA

Необходимо реализовать программу, в которой будут использоваться все модификаторы доступы - private, default, protected, public на трех уровнях наследованияТакже...

184
Потоки.InputStream.Java.Как работать с данными

Потоки.InputStream.Java.Как работать с данными

Есть архив в нем набор файлов, надо считать файлы из архива и выборочно брать один из них, разархивировать архив на диск не нужно, хотел подгружать...

386
Не срабатывает timeout в Completable.fromAction()

Не срабатывает timeout в Completable.fromAction()

Добрый деньСтолкнулся с ошибкой, что при блокирующем ожидании завершения работы Completable, созданного при помощи

208