std::swap
bu şekilde bildirildi:engelli istisnalar ve noexcept()
template <class T> void swap (T& a, T& b)
noexcept (is_nothrow_move_constructible<T>::value &&
is_nothrow_move_assignable<T>::value);
(gibi için -fno-exceptions
ile g ++) olacaktır eğer olurlarsa benim özel tipler için std::swap
kullanım hareket operasyonları hareketsiz kılınmış olup olmadıklarının önemi yok mu?
DÜZENLEME: takip soru:
benim tipim, onları var benim gerçek soru is_nothrow_move_assignable<>
gibi özelliklerin ne olur ise her zaman hamle kullanacağı std :: takas kavramadan sonra?
std::vector
, türlerim noexcept(true)
taşıma işlemlerinin yapılıp yapılmadığını yeniden tahsis ederken her zaman kullanıldı mı?
Derleyicinin '' move'' kuralları istisnalara ortogonaldir. –
@AmiTavory hareket kurallarını evet, ama '' 'is_nothrow_move_constructible'' gibi özellikleri nedir? – onqtam
"is_nothrow_move_constructible" sonucunu basan bir kısa (3 satırlık) test programı yazabilirsin. –