RС522 как получить UID?

b707
Offline
Зарегистрирован: 26.05.2017

DetSimen пишет:

Вбил себе в мозг, что в общем случае так делать нельзя, надо смотреть на реализацию класса.  Если есть копирущий конструктор и оператор =, значить временный обьект из функции отдавать можно. 

"Так делать нельзя"  относится к случаю, когда в обьекте есть ссылки на внешние данные. В таком случае автоматический деструктор уничтожит только ссылки, а память, на которую они указывали - освбождена не будет.

Обьекты , в которых ссылок нет - отдавать из функций можно.

Но в общем случае ты прав :) -, если класс не твой и ты не знаешь, что там внутри намешано - лучше так не делать

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

b707 пишет:

Но в общем случае ты прав :) -, если класс не твой и ты не знаешь, что там внутри намешано - лучше так не делать

Вот и я за то же.  Я понимаю, что классы в Wiring-е игрушечные, но GCC-то нет.  Он реально сам создает копирующий и пустой конструктор, даже если "пейсатель классами" про них забыл.  Это, конечно, гарантирует бинарную идентичность копии, но ничего более.