[過去ログ] Rust part15 (1002レス)
前次1-
抽出解除 レス栞

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
566
(2): 2022/06/08(水)21:31 ID:uKz/tAPi(1) AAS
>>560
CheckedAddAssignはAddAssignと同じようには実現できないよ
速度差は他の方法で工夫すれば埋めることは不可能ではない
618
(3): 2022/06/12(日)20:36 ID:nrxswUhC(1/3) AAS
>>562 >>566
CheckedAddAssignにこだわる必要はないため、発想を転換して、
checked_add()の原関数であるoverflowing_add()を用いることで、
overflowing_add_assign()を用意して同じようにbool値を返せば解決する

具体的には以下のように引数はadd_assign()と同じでbool値を返せばよい
trait OverflowingAddAssign {
 fn overflowing_add_assign(&mut self, rhs: &Self) -> bool;
}

オーバーフローするi8型〜u128型にはoverflowing_add()があるため実装はこうなる
 let is_overflow;
省13
627
(1): 2022/06/12(日)22:59 ID:MphJhZqp(1) AAS
>>618
それが>>566の2行目で書いてる工夫のことだよ
boolではなくchecked_add使ってOption<()>返すメソッドにしておけば?演算子でシンプルに書ける
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.041s