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

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
37: 2022/06/29(水)14:16:46.78 ID:XdEhzXWC(1) AAS
文脈考えなよ
270: 2022/07/08(金)19:10:19.78 ID:hlO59OkW(2/2) AAS
>>269
unique_ptrとshared_ptrの役割の違い、動作の違いを理解できていない君が
間違えて用いてもC++ではコンパイルが通ってしまったりして実行時に問題を引き起こす
Rustは間違えて用いるとコンパイルエラーとなり通らないから安全側に救われる
329
(1): 2022/07/09(土)22:07:58.78 ID:dPnpzXnF(1) AAS
アンチ連呼おじさんの主張は「おまえらはプログラミングしたことが無い」
395: 2022/07/21(木)01:15:53.78 ID:MOkaWH3B(2/2) AAS
>>394
その点ではRustもC++も同じオブジェクト指向なので何を主張したいのかわからない

Rustの基本はselfに見られるようにオブジェクト指向
違いはC++がクラス継承なのに対してRustはトレイト
ジェネリックから見るトレイト境界による型制約となり
逆の視点から見るとトレイト付加によるメソッド拡張となる
558
(1): はちみつ餃子 ◆8X2XSCHEME 2022/08/11(木)10:33:56.78 ID:5k4DsUHs(1) AAS
>>557
直接的にメンバに指定を付けることは出来ない。
Rust のアクセス制御はモジュールが基本単位になっていて、
「メンバに pub が付いていない」「そのモジュールの中でメンバを変更することがない」ならば変更不可能なメンバになる。
696
(1): 2022/09/10(土)20:24:18.78 ID:BhJh8aSd(4/5) AAS
>>691
repr(packed)を指定した構造体のフィールドへのアクセスは未定義動作を引き起こす可能性があるからrepr(packed)は基本的には使わない方が良いよ
外部リンク[html]:doc.rust-lang.org

確かにrepr(C)やrepr(Rust)はパディングされる可能性があるけど、フィールドのアラインメントを適切にするために必要なものなので
パディングが問題になるならフィールドのメンバーの順序やサイズを見直すか、フィールドの値を読むのに std::ptr::read_unaligned を使う必要があるよ
外部リンク[html]:doc.rust-lang.org

read_unalignedのドキュメントにも書いてあるけど、アライメントが不適切なフィールドへの参照を作るのすら未定義動作になるという落とし穴もあったり、
repr(packed)な構造体の取り扱いにはいろいろと注意が必要になるので、本当に必要なとき以外は使わない方が良いよ

あと、repr(packed)はrepr(packed, Rust)と同じ意味になるので、構造体のフィールドがメモリ上でどのような配置になるかの保証はないよ
フィールドの定義順とメモリ上での順序を同じにしたいのであれば repr(C) または repr(C, packed) と指定する必要があるよ
省3
756
(2): 2022/09/22(木)02:33:16.78 ID:OUmiFnaH(1) AAS
MS AzureのCTOが「新しいプロジェクトでC/C++使うのはやめて
非GC言語が必要な状況ではRustを使うべき時だ」ってツイートしてるけど
Visual StudioでもRustが最初からパッケージングされてるようになるのかな
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.042s