const auto f1{move(x.f1)};
                  
                  
                      const auto f2{move(x.f2) };
                  
                  
                  }
                  
                  
                  с оптимизациями превратится в вызов деструкторов in-place? 
                  
                  
                  Или как можно его улучшить? 
                  
                  
                  Гарантируется, что X умрёт в скоупе, в котором эта функция вызывается
                  
                  
                
Деструкторы f1 f2 очевидно вызовутся и поля в них мувнутся предварительно. А что ещё можно ожидать?
![Dmitriy-[Отпуск]](https://image.telq.org/user_avatar_343424865_1474998564264454083_mini.jpeg) Dmitriy
                          [Отпуск]
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                      
                      
                        
                          Dmitriy
                          [Отпуск]
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                    
                    
                  Да... И я в раздумьях, можно ли переписать этот костыль лучше
А в чем костыль? Ну мувнул состояние и что?
![Dmitriy-[Отпуск]](https://image.telq.org/user_avatar_343424865_1474998564264454083_mini.jpeg) Dmitriy
                          [Отпуск]
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                      
                      
                        
                          Dmitriy
                          [Отпуск]
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                    
                    
                  Фактически - это аналог .reset() для нескольких полей. Нужен для разрыва цепочки зависимостей: x.f через некие системные вызовы держит CoW-ссылку на X
![Dmitriy-[Отпуск]](https://image.telq.org/user_avatar_343424865_1474998564264454083_mini.jpeg) Dmitriy
                          [Отпуск]
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                      
                      
                        
                          Dmitriy
                          [Отпуск]
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                    
                    
                  Мысли в слух. Не perf-critical
Нет не гарантируется, Мне не нравится, что x передается в функцию по ссылке, лучше через указатель
![Dmitriy-[Отпуск]](https://image.telq.org/user_avatar_343424865_1474998564264454083_mini.jpeg) Dmitriy
                          [Отпуск]
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                      
                      
                        
                          Dmitriy
                          [Отпуск]
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                    
                    
                  Чем лучше, кроме ggl-code-style?)
Такая передача явно показывает, что объект в функции меняется, таким образом повышаем читабельность кода
а по ссылке - не показывает?
Если хочешь иметь гарантии, принимай unique_ptr
Обычно ссылки константные в функции, тем самым создаётся некоторая путаница для читающего)
Эээ, ему надо ресетнуть часть объекта
А, он в Вопросе написал, что хочет уничтожить X, а не часть из X
Обсуждают сегодня