C++に関する質問やら話題やらはこちらへどうぞ。
ただし質問の前にはFAQに一通り目を通してください。
IDE (VC++など)などの使い方の質問はその開発環境のスレにお願いします。
前スレ
C++相談室 part147
https://mevius.5ch.net/test/read.cgi/tech/1576659413/
このスレもよろしくね。
【初心者歓迎】C/C++室 Ver.105【環境依存OK】
http://mevius.5ch.net/test/read.cgi/tech/1556142878/
■長いソースを貼るときはここへ。■
http://codepad.org/
https://ideone.com/
[C++ FAQ]
https://isocpp.org/wiki/faq/
http://www.bohyoh.com/CandCPP/FAQ/ (日本語)
探検
C++相談室 part148
レス数が1000を超えています。これ以上書き込みはできません。
2020/01/31(金) 20:54:06.26ID:Nt0XFA2s
952デフォルトの名無しさん
2020/02/16(日) 17:13:29.37ID:YrNuZAe7 何のために?それによる
953デフォルトの名無しさん
2020/02/16(日) 18:53:05.64ID:Yy7z+EdH >>950
ありがとん。
ありがとん。
954デフォルトの名無しさん
2020/02/16(日) 21:26:26.27ID:D0JJuQrX >>953
いえいえ
いえいえ
955デフォルトの名無しさん
2020/02/16(日) 23:16:48.80ID:B02+i8yM956デフォルトの名無しさん
2020/02/16(日) 23:20:30.34ID:B02+i8yM957デフォルトの名無しさん
2020/02/17(月) 00:08:48.44ID:U44ZlMgK 白物家電のマイコンやら、pfcのマイコンやらもやったが、そんなのはそもそもmalloc使うような環境じゃなかったしなぁ
RAMもkB単位で少ないし、自由に関数呼べるほどスタックも無いし
割り込み部分はアセンブリで書いてた
RAMもkB単位で少ないし、自由に関数呼べるほどスタックも無いし
割り込み部分はアセンブリで書いてた
958デフォルトの名無しさん
2020/02/17(月) 00:14:53.75ID:/jKzm6f9 今は冷蔵庫や電子レンジもAI積んでネットワークに繋がるIoT時代だけど
それでも組み込みって未だにそんな感じなの?
それでも組み込みって未だにそんな感じなの?
959デフォルトの名無しさん
2020/02/17(月) 00:16:48.70ID:U44ZlMgK まあそれは特に東南アジア向けだったし
日本よりさらにチープだったのかも
日本よりさらにチープだったのかも
960デフォルトの名無しさん
2020/02/17(月) 00:19:59.06ID:uafn9Eqq >>958
そんなのごく一部
そんなのごく一部
961デフォルトの名無しさん
2020/02/17(月) 00:20:59.44ID:uafn9Eqq いまだにチープな8bit CPUもたくさん使われている
962デフォルトの名無しさん
2020/02/17(月) 00:23:25.57ID:U44ZlMgK cortex-m0とか載ってたらもう小躍りしちゃうくらいのリッチさだよね
963デフォルトの名無しさん
2020/02/17(月) 00:34:16.83ID:H8nvOahp リッチなCPUを使うって事は
それだけ求められる事が大きいわけで
それだけ求められる事が大きいわけで
964デフォルトの名無しさん
2020/02/17(月) 07:41:59.44ID:xyBTOgD8 でもCPU節約するために人件費かけて結局商品高いじゃん
965デフォルトの名無しさん
2020/02/17(月) 09:22:40.01ID:usLteeFN 趣味じゃないんだから
当然トータルで考えるよ
開発工数、単価、機能性能、信頼性、供給、大人の事情、...
当然トータルで考えるよ
開発工数、単価、機能性能、信頼性、供給、大人の事情、...
966デフォルトの名無しさん
2020/02/17(月) 10:36:24.72ID:sgjaAMaL ゲーム業界の人だけど
new使っても問題ないってのはおれの常識とは異なる
まず問題が広すぎる
言いたいことはデフォルトのグローバルヒープを無邪気に使っていいか
ということだと仮定すると
AAAクラスでそんな杜撰なことしてるところはないと思う
組み込みもそうだがリアルタイム性が必要とされるところでは、メモリ予算というものがある
グラフィック、オーディオ、ネットワークなどのモジュールごとにメモリいくらと決められる
モジュールの責任者はその中でやりくりする
ここで大事なのはメモリの最大使用量を保証しなければならないってこと
必要ならローカルのヒープは作ったりするが、この時点で担当者が気ままにnewってのは認められない
基本的にすべてコントロールされる
現実的に最大量が正確に見積もれないものもあるがそれでも最大量は決める
new使っても問題ないってのはおれの常識とは異なる
まず問題が広すぎる
言いたいことはデフォルトのグローバルヒープを無邪気に使っていいか
ということだと仮定すると
AAAクラスでそんな杜撰なことしてるところはないと思う
組み込みもそうだがリアルタイム性が必要とされるところでは、メモリ予算というものがある
グラフィック、オーディオ、ネットワークなどのモジュールごとにメモリいくらと決められる
モジュールの責任者はその中でやりくりする
ここで大事なのはメモリの最大使用量を保証しなければならないってこと
必要ならローカルのヒープは作ったりするが、この時点で担当者が気ままにnewってのは認められない
基本的にすべてコントロールされる
現実的に最大量が正確に見積もれないものもあるがそれでも最大量は決める
967デフォルトの名無しさん
2020/02/17(月) 10:57:08.38ID:sgjaAMaL といってもグローバルヒープを使わないわけじゃない
オープンソースのもので無邪気にmallocするものは多数あるが、それほど荒ぶらなければそのまま使う
(リアルタイム性が不要なら仮想メモリに任せる)
あとmalloc遅くないという論調の人がいるけどそれはベストケースの話でしょう
ヒープメモリが不足したり一度に巨大なメモリを確保する場合はシステムコールになるからずっと遅くなる
ワーストが見積もれないものはリアルタイムで使いづらい
まぁ昨今は仮想マシン上で動くゲームが多数あるわけで気にしなくていいレベルという意見はある
ただesports系で一瞬カつくとか商品性に関わるわけで
また後から直すのも地獄なので
最初から計画的に作るべきだろう
オープンソースのもので無邪気にmallocするものは多数あるが、それほど荒ぶらなければそのまま使う
(リアルタイム性が不要なら仮想メモリに任せる)
あとmalloc遅くないという論調の人がいるけどそれはベストケースの話でしょう
ヒープメモリが不足したり一度に巨大なメモリを確保する場合はシステムコールになるからずっと遅くなる
ワーストが見積もれないものはリアルタイムで使いづらい
まぁ昨今は仮想マシン上で動くゲームが多数あるわけで気にしなくていいレベルという意見はある
ただesports系で一瞬カつくとか商品性に関わるわけで
また後から直すのも地獄なので
最初から計画的に作るべきだろう
968デフォルトの名無しさん
2020/02/17(月) 11:06:49.04ID:tDJaHp5K ここC++スレだよね、つかぬことだけど
記憶管理はいつでも如何様にもカスタマイズできるようにtypename Allocatorになってるわけじゃん
なんでいきなり組み込みには向かないとかキリッてんの?
記憶管理はいつでも如何様にもカスタマイズできるようにtypename Allocatorになってるわけじゃん
なんでいきなり組み込みには向かないとかキリッてんの?
969デフォルトの名無しさん
2020/02/17(月) 12:20:34.06ID:ipOy1V1j970デフォルトの名無しさん
2020/02/17(月) 12:22:54.84ID:tDJaHp5K >>969
kwsk
kwsk
971デフォルトの名無しさん
2020/02/17(月) 12:39:53.15ID:sgjaAMaL >>968
標準ライブラリでもallocatorが指定できないものもあるんだよ
もはや今のc++で標準ライブラリを全面的に使いつつ、ヒープを個別に差し替えるのはかなり非現実的だ
allocatorを差し替えられてもnewするタイミングや量はリバースエンジニアリングしないとわからない
それが問題になることもある
標準ライブラリでもallocatorが指定できないものもあるんだよ
もはや今のc++で標準ライブラリを全面的に使いつつ、ヒープを個別に差し替えるのはかなり非現実的だ
allocatorを差し替えられてもnewするタイミングや量はリバースエンジニアリングしないとわからない
それが問題になることもある
972デフォルトの名無しさん
2020/02/17(月) 12:48:18.84ID:2c+OKT/4 てか、静的確保したメモリブロック使うアロケータ書いてそれで標準コンテナ使うのが基本じゃね
まあeastlでも良いが
まあeastlでも良いが
973デフォルトの名無しさん
2020/02/17(月) 12:51:50.81ID:tDJaHp5K >>971
> 標準ライブラリでもallocatorが指定できないもの
例えば?
newだってoperator newですぐカスタマイズできるし
placementで環境依存の細かい設定もできる
ライブラリはISO/IEC14882に固執する必要はなく
サードパーティでも内製でもより都合のよいほうを使えばいい
というだけの話
> 標準ライブラリでもallocatorが指定できないもの
例えば?
newだってoperator newですぐカスタマイズできるし
placementで環境依存の細かい設定もできる
ライブラリはISO/IEC14882に固執する必要はなく
サードパーティでも内製でもより都合のよいほうを使えばいい
というだけの話
974969
2020/02/17(月) 12:56:55.88ID:nfQInp9b カスタマイズの話なら真っ先にnewの話をすべきなんだが順番おかしくね?
ていうか今時はallocatorより先にpolymorphic resourceだと思うが
というかそもそもmallocの速度の話からであって、いきなりallocatorの話したり
C++全体を否定されたかのように過剰反応するとか・・
ていうか今時はallocatorより先にpolymorphic resourceだと思うが
というかそもそもmallocの速度の話からであって、いきなりallocatorの話したり
C++全体を否定されたかのように過剰反応するとか・・
975デフォルトの名無しさん
2020/02/17(月) 13:12:34.13ID:y136Nw0W 仕様通りに書けばいい感じにうごいてくれて、責任は俺にはないとか
思い込んでんじゃってるキッズなんだろう。
デバッグするなんてことはもちろん頭にない。
思い込んでんじゃってるキッズなんだろう。
デバッグするなんてことはもちろん頭にない。
976865
2020/02/17(月) 13:34:28.75ID:FC0zZXW0977デフォルトの名無しさん
2020/02/17(月) 13:44:11.06ID:nfQInp9b978デフォルトの名無しさん
2020/02/17(月) 14:00:21.02ID:sgjaAMaL >>973
> > 標準ライブラリでもallocatorが指定できないもの
> 例えば?
でしょ?
お前さんは人並み以上にc++知ってると思うけどこの事実知らない
どこで使われてるか知らなきゃ置き換えができないよね
答えはあえて教えない
標準ライブラリのヘッダーをnewでgrepすればallocatorを通さないものが見つかるさ
自分で確認してこりゃ置き換え無理だわと悟って欲しいw
もし見つからないなら後で書くよ
ちなみにグローバルにnewを置き換えるぐらいならmallocのバイナリを差し替えた方が早いし確実
> > 標準ライブラリでもallocatorが指定できないもの
> 例えば?
でしょ?
お前さんは人並み以上にc++知ってると思うけどこの事実知らない
どこで使われてるか知らなきゃ置き換えができないよね
答えはあえて教えない
標準ライブラリのヘッダーをnewでgrepすればallocatorを通さないものが見つかるさ
自分で確認してこりゃ置き換え無理だわと悟って欲しいw
もし見つからないなら後で書くよ
ちなみにグローバルにnewを置き換えるぐらいならmallocのバイナリを差し替えた方が早いし確実
979はちみつ餃子 ◆8X2XSCHEME
2020/02/17(月) 14:31:40.00ID:qpTD/rYC おっ。
野党みたいなことを言い始めたぞ。
野党みたいなことを言い始めたぞ。
980デフォルトの名無しさん
2020/02/17(月) 14:37:47.70ID:nfQInp9b >>979
横からだが、具体的に誰のどこを指してそう思ったのかよろしく
横からだが、具体的に誰のどこを指してそう思ったのかよろしく
981デフォルトの名無しさん
2020/02/17(月) 14:59:36.07ID:QYRwM+i2 >>966
もちろん、むやみやたらと使って全く問題ないわけではない。
が、本当に必要な箇所で使う程度なら(多くの場合)余り問題ないという程度。
大体ゲームの場合のnewやmallocは、敵や弾やイフェクト、3Dオブジェクトなど
を1つずつ収めるために使うことが多いが、ゲームの1シーン内に登場する個数が
newやmallocが問題ない程度に元々なっている事がわりと多いと言うだけ。
3Dの雑草の葉っぱ一枚単位で new したりすると問題になってくるかもしれない。
もちろん、むやみやたらと使って全く問題ないわけではない。
が、本当に必要な箇所で使う程度なら(多くの場合)余り問題ないという程度。
大体ゲームの場合のnewやmallocは、敵や弾やイフェクト、3Dオブジェクトなど
を1つずつ収めるために使うことが多いが、ゲームの1シーン内に登場する個数が
newやmallocが問題ない程度に元々なっている事がわりと多いと言うだけ。
3Dの雑草の葉っぱ一枚単位で new したりすると問題になってくるかもしれない。
982デフォルトの名無しさん
2020/02/17(月) 15:51:15.09ID:sgjaAMaL983デフォルトの名無しさん
2020/02/17(月) 16:08:54.93ID:HCTe1ZqE コンシューマかPCかでも違うだろうし
(自分はさほど詳しくないが、基本コンシューマは標準ヒープ使わないはず)
ジャンルによっても違うんじゃね
PCのMMORPGなんかだとシーン中のメモリ確保は必須だろうし
あと草は普通同じメッシュやテクスチャ使うだろうし、揺れを入れるにしても一つ一つにデータ持たせるなんてアホなことしないだろ
(自分はさほど詳しくないが、基本コンシューマは標準ヒープ使わないはず)
ジャンルによっても違うんじゃね
PCのMMORPGなんかだとシーン中のメモリ確保は必須だろうし
あと草は普通同じメッシュやテクスチャ使うだろうし、揺れを入れるにしても一つ一つにデータ持たせるなんてアホなことしないだろ
984デフォルトの名無しさん
2020/02/17(月) 16:15:08.76ID:tDJaHp5K985デフォルトの名無しさん
2020/02/17(月) 16:32:36.59ID:y136Nw0W いやそれくらい調べろって話だろ。。馬鹿が。
986デフォルトの名無しさん
2020/02/17(月) 16:44:43.28ID:tDJaHp5K >>985
sgjaAMaLが、自分の話に傾聴してきた人の質問に答えなかった
つまり自分の考えを伝える努力を中止したということでしかない
何人も自らの意見を他人に伝えるには
その意見を説明するしかなく
説明をやめることは沈黙に等しい
sgjaAMaLが、自分の話に傾聴してきた人の質問に答えなかった
つまり自分の考えを伝える努力を中止したということでしかない
何人も自らの意見を他人に伝えるには
その意見を説明するしかなく
説明をやめることは沈黙に等しい
987デフォルトの名無しさん
2020/02/17(月) 16:55:56.23ID:9WiS2n1W 黙って調べてくれば?
調べて無いと結論づけられればまた偉そうに出来るだろw
調べて無いと結論づけられればまた偉そうに出来るだろw
988デフォルトの名無しさん
2020/02/17(月) 17:15:39.87ID:9Dh9neDd ちゃうねん。
僕が組み込みいうたのはArduinoのことな。
RAM2KBやし。
僕が組み込みいうたのはArduinoのことな。
RAM2KBやし。
989デフォルトの名無しさん
2020/02/17(月) 17:31:33.05ID:9Dh9neDd Arduino面白いよ。
990デフォルトの名無しさん
2020/02/17(月) 18:25:59.21ID:sgjaAMaL991デフォルトの名無しさん
2020/02/17(月) 18:30:32.07ID:T3Z0MUY2 この手の人最後まで答えないか
答えても的外れなのしか見たことないわ
答えても的外れなのしか見たことないわ
992デフォルトの名無しさん
2020/02/17(月) 18:32:18.22ID:wtNXL+i7 だね
消えて良いよ
消えて良いよ
993デフォルトの名無しさん
2020/02/17(月) 19:27:27.34ID:XybgTXf7 >>978
std::arrayとか言わないよね
std::arrayとか言わないよね
994デフォルトの名無しさん
2020/02/17(月) 19:33:45.21ID:nfQInp9b arrayのどこに動的メモリ確保が出てくるんだよ
アホか
アホか
995デフォルトの名無しさん
2020/02/17(月) 19:46:45.93ID:9Dh9neDd なぞなぞですか。
996デフォルトの名無しさん
2020/02/17(月) 23:00:17.88ID:HZSaiYXA 漏れはnewのときたまの遅さの可能性に警鐘を鳴らしたからセフセフ、
997デフォルトの名無しさん
2020/02/17(月) 23:06:03.72ID:HZSaiYXA やっぱnew/deleteのレイテンシーを設計に乗せるには非ページプールメモリにアロケートするべきですよねー
998デフォルトの名無しさん
2020/02/17(月) 23:19:17.27ID:sgjaAMaL なんかスレ止めてたら悪いから書いておくよ
ひとつは17からallocatorがdeprecatedになったstd::functionね
これは結構知られてるばずだ
定期的にこれ濫用する人が現れるんだけど中身理解してから使うか判断しろと職場では言っている代物
もうひとつあげるなら、
処理系によってかなり違うかもだけどstd::threadも中でこっそり内部クラスをnewしてるはず
ただスレッド間で引数を引き渡すためのものでサイズは小さいしスレッド作るコストの方が遥かにでかいから問題にはなりにくい
他にもあるけどとりあえずこんなもんで
ひとつは17からallocatorがdeprecatedになったstd::functionね
これは結構知られてるばずだ
定期的にこれ濫用する人が現れるんだけど中身理解してから使うか判断しろと職場では言っている代物
もうひとつあげるなら、
処理系によってかなり違うかもだけどstd::threadも中でこっそり内部クラスをnewしてるはず
ただスレッド間で引数を引き渡すためのものでサイズは小さいしスレッド作るコストの方が遥かにでかいから問題にはなりにくい
他にもあるけどとりあえずこんなもんで
999デフォルトの名無しさん
2020/02/17(月) 23:46:06.60ID:HZSaiYXA std::functionを使わないと1 bitもプログラムが書けなくなった漏れガイル、
クロージャをいちいちクラス定義から手で書く日々に戻るのはいやじゃー
クロージャをいちいちクラス定義から手で書く日々に戻るのはいやじゃー
1000デフォルトの名無しさん
2020/02/17(月) 23:54:13.03ID:HCTe1ZqE10011001
Over 1000Thread このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 17日 3時間 0分 7秒
新しいスレッドを立ててください。
life time: 17日 3時間 0分 7秒
10021002
Over 1000Thread 5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。
ニュース
- 【地震速報】青森県で震度6強 沿岸部に津波警報 ★6 [ぐれ★]
- 「日の丸にバツ印」掲げた大学生 あいまいな国旗損壊罪に「怖い」 The Mainichi [少考さん★]
- 【音楽】BARBEE BOYS・KONTAが事故で四肢麻痺を公表、新体制で活動は継続 [少考さん★]
- 中国「捜索レーダー起動は各国の通常の手法」 火器管制用か回答せず [蚤の市★]
- 【野球】野球の未来に危機感「マイナースポーツになる」 宮本慎也氏が開催…学童大会 [尺アジ★]
- 【訃報】声優・西村知道さん死去 「SLAM DUNK」安西先生役 9月に体調不良のため一時休業 [少考さん★]
- マヨネーズにわさび、山椒、卵の黄身、ラー油、オリーブオイルを入れてよく混ぜてください
- 普通の日本人「日本の新技術で中国破滅😤!中国経済崩壊😂!終わりの始まりwwwwwwwwwww」 [441660812]
- ぺこーら、地震で同僚が次々配信を止めるなか強行し続けるので悪目立ちするwww [268244553]
- 巨大地震 [957955821]
- ひろゆき「愛があるから人は苦しまなきゃいけないんだね」
- 【速報】高市早苗、起床 [779938112]
