前スレ
C++相談室 part158
https://mevius.5ch.net/test/read.cgi/tech/1636969758/
C++相談室 part159
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2022/02/19(土) 11:56:42.14ID:kSnJ/KwP2022/02/19(土) 12:05:32.96ID:b+8HD1Ua
C(チンチン)+(プラ)+(プラ)
2022/02/19(土) 13:32:43.00ID:rSu4VNCf
アセンブリとかC言語だと「この操作はするな」ってのを簡単には禁止できないからね
許可されてる(コンパイラから怒られない)操作が増えるとその分だけ不正解のコードを書くリスクが高くなる
structのこのフィールドは排他制御してから変更してねってのをC言語じゃ簡単には強制できんだろ
C++ならgetter作ればいいだけなのに
許可されてる(コンパイラから怒られない)操作が増えるとその分だけ不正解のコードを書くリスクが高くなる
structのこのフィールドは排他制御してから変更してねってのをC言語じゃ簡単には強制できんだろ
C++ならgetter作ればいいだけなのに
2022/02/19(土) 13:38:43.35ID:2h4SA+VW
2022/02/19(土) 13:52:37.43ID:2h4SA+VW
カプセル化が簡単にできるというのと、
オブジェクトC := オブジェクトA + オブジェクトB
オブジェクトE = オブジェクトC * オブジェクトD
...
ここで:=は生成、+や*はなんらかのメッセージ(メソッド)
このようにオブジェクトからオブジェクトを作る、的な、
基本単位がオブジェクトなプログラミング環境が維持されないのは
オブジェクト指向プログラミングしているうちに入らないと
思うんですよねー(棒
オブジェクト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++はなぜ許して致命的バグを生み出してしまうのだろう、と
でもそのC++からCを見て不正解のコードを書くリスクが高くなるという話がそのまま
RustからC++を見た場合も当てはまってしまうよな
Rustコンパイラならメモリ安全やデータ競合に問題がある操作をエラーで拒否するのにC++はなぜ許して致命的バグを生み出してしまうのだろう、と
2022/02/19(土) 17:53:08.72ID:kSnJ/KwP
無関係過ぎる
元はアセンブラ必須という人が書き込みがあったので、C++のコンパイラ(gcc)がSIMDを吐く条件についての話をしたんだが・・・
それについては正解できる人や惜しい人すら皆無で、馬鹿がC++全然関係ないOOの話を引っ張ってきて、今じゃC++と無縁な宇宙の話になっている
元はアセンブラ必須という人が書き込みがあったので、C++のコンパイラ(gcc)がSIMDを吐く条件についての話をしたんだが・・・
それについては正解できる人や惜しい人すら皆無で、馬鹿がC++全然関係ないOOの話を引っ張ってきて、今じゃC++と無縁な宇宙の話になっている
2022/02/19(土) 18:09:20.91ID:x/upE6G9
自分でこんなレスしといて今更何言ってるんだかw
> 組み込み機器用のCPUって特殊なんで、コンパイラが安定しないなんてよくある話
> オブジェクト指向のメリットの本質についての話なので、可能/不可能が実装言語に依存しないというのもよくある話(楽かどうかは別)
> 別に昭和でも平成でも令和でも変わってないけど、>> 991に伝わってないのは確か
> 組み込み機器用のCPUって特殊なんで、コンパイラが安定しないなんてよくある話
> オブジェクト指向のメリットの本質についての話なので、可能/不可能が実装言語に依存しないというのもよくある話(楽かどうかは別)
> 別に昭和でも平成でも令和でも変わってないけど、>> 991に伝わってないのは確か
2022/02/19(土) 18:26:04.31ID:kSnJ/KwP
馬鹿がID変えてまた登場
2022/02/19(土) 18:50:37.51ID:mDQ0X8WX
明示的にはSSEコンパイラ組み込み関数を使えば実現できるけど、多くのコンパイラはシングルレーンのループの一部を自動的にベクトル化してくれるのね
コンパイラが暗黙的なベクトル化をしてくれる条件ってシングルレーン以外に何があるんだろ
コンパイラが暗黙的なベクトル化をしてくれる条件ってシングルレーン以外に何があるんだろ
2022/02/19(土) 19:09:18.39ID:x/upE6G9
>>10
顔真っ赤じゃんw
顔真っ赤じゃんw
2022/02/19(土) 19:43:50.83ID:kSnJ/KwP
その問題はもう答え書いた
2022/02/19(土) 20:38:46.85ID:x/upE6G9
恥の上塗りかよw
答えを書いたとか関係ないだろ
> 馬鹿がC++全然関係ないOOの話を引っ張ってきて
に乗っといて何言ってるんだよ
答えを書いたとか関係ないだろ
> 馬鹿がC++全然関係ないOOの話を引っ張ってきて
に乗っといて何言ってるんだよ
2022/02/19(土) 21:13:10.67ID:kSnJ/KwP
2022/02/19(土) 21:45:03.99ID:x/upE6G9
人をバカにしても恥ずかしいレスは消えないよw
2022/02/20(日) 02:19:28.36ID:c79emsKu
2022/02/20(日) 05:27:00.10ID:aLhaBLLn
けんかをやめて ふたりを止めて
わたしのために 争わないで
わたしのために 争わないで
2022/02/20(日) 09:25:04.73ID:JXXbW9ML
きみC#さんだよね
2022/02/20(日) 10:18:23.47ID:c+ifp9sQ
2022/02/20(日) 10:23:29.96ID:mD/m0vxj
ゲームはハード性能をゴリゴリに引き出すのが正義だからスマポ程度のオーバーヘッドでも許容できないんよ
2022/02/20(日) 10:30:30.73ID:c+ifp9sQ
>>21
いや俺もゲーム開発しとるけどスマポどころかGC任せにするのがもうここ10年くらいは主流だぞ?(最終的にはネイティブ化されるけどそれでもゼロオーバーヘッドになる訳では全くない)
いや俺もゲーム開発しとるけどスマポどころかGC任せにするのがもうここ10年くらいは主流だぞ?(最終的にはネイティブ化されるけどそれでもゼロオーバーヘッドになる訳では全くない)
2022/02/20(日) 10:31:03.74ID:hF9eBvbm
え?
ゲームでもスマートポインタは普通に使うよ
ゲームでもスマートポインタは普通に使うよ
2022/02/20(日) 10:36:14.20ID:mD/m0vxj
ああ、ゲームって最新の3Dグリグリのやつな(欧米の大手って言うからそっち想像しちゃった)
スマホゲーやブラウザゲーはまた別よ
スマホゲーやブラウザゲーはまた別よ
2022/02/20(日) 10:37:11.73ID:c+ifp9sQ
>>24
タルコフ見て同じ事言える?
タルコフ見て同じ事言える?
2022/02/20(日) 10:40:48.26ID:hF9eBvbm
ID:mD/m0vxj は知ったかぶりだね
なんのためにC++相談室スレにデタラメを書き込んでるの?
なんのためにC++相談室スレにデタラメを書き込んでるの?
27デフォルトの名無しさん
2022/02/20(日) 10:43:58.31ID:h6G+3sJT 共用体が良くわからないのですが、同じメモリーアドレスを複数のメンバで共用するとは
どういうことなのでしょうか?
メモリの節約と書いてあるのですが、よくわかりません。
同じ型の共用体が複数あったときに使ってないメンバ変数が勝手に消されるなんてわけないですよね
どなたか共用体と構造体の違いを教えていただければ幸いです。
(まだクラスについての知識はほとんどないです。)
どういうことなのでしょうか?
メモリの節約と書いてあるのですが、よくわかりません。
同じ型の共用体が複数あったときに使ってないメンバ変数が勝手に消されるなんてわけないですよね
どなたか共用体と構造体の違いを教えていただければ幸いです。
(まだクラスについての知識はほとんどないです。)
2022/02/20(日) 10:51:16.26ID:lvHr33WL
PODで型変換するくらいしか使わんのでは
2022/02/20(日) 10:53:23.74ID:c+ifp9sQ
>>27
とあるデータの見方を複数用意するのが共用体
union { intptr_t integer; void* pointer; } value;
↑が構造体であればvalueはポインタ*2分のメモリを使うところ、共用体だとsizeof(value)は4(32bit)or8(64bit)って感じで変数1個でしかない
integerとpointerは実体は全く同じデータを見ていて、その見方を二つ用意しただけ
value.integer = 8;ってするとpointerも8になる
とあるデータの見方を複数用意するのが共用体
union { intptr_t integer; void* pointer; } value;
↑が構造体であればvalueはポインタ*2分のメモリを使うところ、共用体だとsizeof(value)は4(32bit)or8(64bit)って感じで変数1個でしかない
integerとpointerは実体は全く同じデータを見ていて、その見方を二つ用意しただけ
value.integer = 8;ってするとpointerも8になる
30デフォルトの名無しさん
2022/02/20(日) 10:55:47.01ID:h6G+3sJT え!?メモリの節約ができるの!?
でも・・・制限があるんでしょ?
って感じで気になるのです。
ただ、基底クラスとか継承っていうのがわからないんだけど、
クラスについての記述がもう少し先にあるから、まだクラスの部分について読みたくない
、クラスを学んでから共用体について学んだほうが良いのでしょうか?
でも・・・制限があるんでしょ?
って感じで気になるのです。
ただ、基底クラスとか継承っていうのがわからないんだけど、
クラスについての記述がもう少し先にあるから、まだクラスの部分について読みたくない
、クラスを学んでから共用体について学んだほうが良いのでしょうか?
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【スクープ】敏腕プロデューサーSKY-HIが未成年女性アイドル(17)を深夜に自宅呼び出し、〈かわいすぎる死ぬ〉〈だぁいすき〉などのLINEも [Ailuropoda melanoleuca★]
- 胸を強調した女性アニメキャラをファミレスがコラボ企画で起用。「この表現はどうなのか」SNSで疑問の声 ★3 [少考さん★]
- 安心の「国産EVバス」その心臓は中国製 「どこまで国産なのか問題」純国産なんてあり得ない!? [少考さん★]
- 11月物価、3.0%上昇 食品が高止まり [少考さん★]
- 【赤坂サウナ死亡火災】別室でもドアノブがたつく 男性の手に皮下出血、ガラスたたいたか ★4 [ぐれ★]
- 女子高生が初の司法試験合格 予備ルートの慶応女子高3年「企業法務の弁護士になりたい」 [ぐれ★]
- フィフィ「中国に依存してた企業、みっともないから、中国に頼らない経済を構築した方がいいですよ!」 [153490809]
- 金持ちは性格悪くてケチ👈これマジ? [441978185]
- お前らバカなんだから俺に従っとけばいいんだよ
- 🏡☢核兵器使用推進スレ☢🏡
- 明らかに巨乳のほうが良い女なのに貧乳が淘汰されないのっておかしくないか?
- ワイ、光ってると言われる
