C++相談室 part159

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2022/02/19(土) 11:56:42.14ID:kSnJ/KwP
前スレ
C++相談室 part158
https://mevius.5ch.net/test/read.cgi/tech/1636969758/
2022/02/19(土) 12:05:32.96ID:b+8HD1Ua
C(チンチン)+(プラ)+(プラ)
2022/02/19(土) 13:32:43.00ID:rSu4VNCf
アセンブリとかC言語だと「この操作はするな」ってのを簡単には禁止できないからね

許可されてる(コンパイラから怒られない)操作が増えるとその分だけ不正解のコードを書くリスクが高くなる

structのこのフィールドは排他制御してから変更してねってのをC言語じゃ簡単には強制できんだろ
C++ならgetter作ればいいだけなのに
2022/02/19(土) 13:38:43.35ID:2h4SA+VW
>>1
>>1000は宣言に従うこと

>>3
それぐらいはC程度の高水準言語であればギリ保証できる
クラスFooに対するgetterやsetterを経由しないアクセスを
Fooの構造体メンバ名を変えたときビルドエラーとして確実にあぶりだせる
ように書くことはFooを書く人の一存で一応できる
2022/02/19(土) 13:52:37.43ID:2h4SA+VW
カプセル化が簡単にできるというのと、
 オブジェクトC := オブジェクトA + オブジェクトB
 オブジェクトE = オブジェクトC * オブジェクトD
 ...
ここで:=は生成、+や*はなんらかのメッセージ(メソッド)
このようにオブジェクトからオブジェクトを作る、的な、
基本単位がオブジェクトなプログラミング環境が維持されないのは
オブジェクト指向プログラミングしているうちに入らないと
思うんですよねー(棒
2022/02/19(土) 15:57:04.56ID:ymxofDah
format.hを待ってますた
2022/02/19(土) 15:59:32.57ID:lVeS0ElI
>>3
でもそのC++からCを見て不正解のコードを書くリスクが高くなるという話がそのまま
RustからC++を見た場合も当てはまってしまうよな
Rustコンパイラならメモリ安全やデータ競合に問題がある操作をエラーで拒否するのにC++はなぜ許して致命的バグを生み出してしまうのだろう、と
2022/02/19(土) 17:53:08.72ID:kSnJ/KwP
無関係過ぎる
元はアセンブラ必須という人が書き込みがあったので、C++のコンパイラ(gcc)がSIMDを吐く条件についての話をしたんだが・・・
それについては正解できる人や惜しい人すら皆無で、馬鹿がC++全然関係ないOOの話を引っ張ってきて、今じゃC++と無縁な宇宙の話になっている
2022/02/19(土) 18:09:20.91ID:x/upE6G9
自分でこんなレスしといて今更何言ってるんだかw
> 組み込み機器用のCPUって特殊なんで、コンパイラが安定しないなんてよくある話
> オブジェクト指向のメリットの本質についての話なので、可能/不可能が実装言語に依存しないというのもよくある話(楽かどうかは別)
> 別に昭和でも平成でも令和でも変わってないけど、>> 991に伝わってないのは確か
2022/02/19(土) 18:26:04.31ID:kSnJ/KwP
馬鹿がID変えてまた登場
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況