C++に関する質問やら話題やらはこちらへどうぞ。
ただし質問の前にはFAQに一通り目を通してください。
IDE (VC++など)などの使い方の質問はその開発環境のスレにお願いします。
前スレ
C++相談室 part142
https://mevius.5ch.net/test/read.cgi/tech/1554124625/
このスレもよろしくね。
【初心者歓迎】C/C++室 Ver.105【環境依存OK】
https://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/ (日本語)
----- テンプレ ここまで -----
VIPQ2_EXTDAT: default:vvv:1000:512:----: EXT was configured
探検
C++相談室 part143
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ)
2019/06/15(土) 13:51:53.57ID:DKQ0QQLH0599デフォルトの名無しさん (ブーイモ)
2019/07/04(木) 00:19:04.81ID:Evy1L2/hM クロックとか言ってるやつもロートルだな
全く世の技術についていけてない
全く世の技術についていけてない
600デフォルトの名無しさん (ワッチョイ)
2019/07/04(木) 00:19:14.34ID:QgrgqeUu0 >>597
ない
ない
601デフォルトの名無しさん (ワッチョイ)
2019/07/04(木) 00:19:40.29ID:OupeWpkE0602デフォルトの名無しさん (ブーイモ)
2019/07/04(木) 00:21:13.94ID:Evy1L2/hM ハイパフォーマンス必要なとこでlistなんか使わないからど素人さん
603デフォルトの名無しさん (ワッチョイ)
2019/07/04(木) 00:25:40.63ID:OupeWpkE0 >>601
それに、reserve()のためには、一般的には、要素は、コピー・コンストラクタを
持つ必要がある。一方、listの場合には、コピ・コンを省略できる。
C++を使っていると分かるが、デフォルト・コンストラクタを作ることはほぼ必須
だが、コピ・コンはめんどくさいので書きたくないことが多い。その場合に、
listの方が楽。
それに、reserve()のためには、一般的には、要素は、コピー・コンストラクタを
持つ必要がある。一方、listの場合には、コピ・コンを省略できる。
C++を使っていると分かるが、デフォルト・コンストラクタを作ることはほぼ必須
だが、コピ・コンはめんどくさいので書きたくないことが多い。その場合に、
listの方が楽。
604デフォルトの名無しさん (ワッチョイ)
2019/07/04(木) 00:26:45.21ID:OupeWpkE0 >>602
vectorとreserve()の組み合わせはもっと駄目だ。
vectorとreserve()の組み合わせはもっと駄目だ。
605デフォルトの名無しさん (ワッチョイ)
2019/07/04(木) 00:27:30.60ID:OMb74HbU0 forward_list
とか知らないんだろうな
バカそうだし
とか知らないんだろうな
バカそうだし
606デフォルトの名無しさん (ワッチョイ)
2019/07/04(木) 00:31:07.37ID:+bvr5vAX0 >>601
要素既知の配列と同様の用途の場合、まともなスキルのあるプログラマなら、サイズ指定constructor、empty状態でのresize、empty状態でのreserve
のいずれかを使う。
そうするとmalloc一回と、前者二つは要素数分の要素型の配置newデフォルトもしくはコピーconstructorが呼ばれる。
要素既知の配列と同様の用途の場合、まともなスキルのあるプログラマなら、サイズ指定constructor、empty状態でのresize、empty状態でのreserve
のいずれかを使う。
そうするとmalloc一回と、前者二つは要素数分の要素型の配置newデフォルトもしくはコピーconstructorが呼ばれる。
607デフォルトの名無しさん (ワッチョイ)
2019/07/04(木) 00:31:14.53ID:z3/vg39Q0608デフォルトの名無しさん (ワッチョイ)
2019/07/04(木) 00:36:08.58ID:+bvr5vAX0 vector相当にcapaciry()+xなreserve相当をするCArrayってのがあってだな
MS自身がどうしてもこれじゃなきゃ駄目な場合以外使うなと言うくらいの糞
MS自身がどうしてもこれじゃなきゃ駄目な場合以外使うなと言うくらいの糞
609デフォルトの名無しさん (ワッチョイ)
2019/07/04(木) 00:36:47.68ID:OupeWpkE0 >>606
要素数既知なら、最速が TYPE aaa[N] で次が new TYPE[N]。
逢えて vector を使う意味がない。
empty状態の reserve() とかしてまで vector にこだわる意味が分からない。
要素数既知なら、最速が TYPE aaa[N] で次が new TYPE[N]。
逢えて vector を使う意味がない。
empty状態の reserve() とかしてまで vector にこだわる意味が分からない。
610デフォルトの名無しさん (ワッチョイ)
2019/07/04(木) 00:38:37.52ID:OupeWpkE0 >>607
むしろ逆で、生配列使えばいい場面で、何故か vector に固執する人がいるんだよ。
むしろ逆で、生配列使えばいい場面で、何故か vector に固執する人がいるんだよ。
611デフォルトの名無しさん (ワッチョイ)
2019/07/04(木) 00:39:15.33ID:aorw8zR90 どこにそんな人居たの?
レス番あげてよ
レス番あげてよ
612デフォルトの名無しさん (ワッチョイ)
2019/07/04(木) 00:48:01.35ID:+bvr5vAX0 サイズ完全固定ならstd::array
最大サイズが既知なら少し無駄だがvector
格納領域内包する最大サイズ指定のvector擬きがあればベストなんだが
最大サイズが既知なら少し無駄だがvector
格納領域内包する最大サイズ指定のvector擬きがあればベストなんだが
613デフォルトの名無しさん (ワッチョイ)
2019/07/04(木) 00:51:39.87ID:+bvr5vAX0 後はサイズが大きくてスタック上に確保したくない時もvector使うだろ。
614デフォルトの名無しさん (ワッチョイ)
2019/07/04(木) 00:53:59.44ID:OupeWpkE0 >>613
その場合は、TYPE *pAaa = new TYPE[N];
その場合は、TYPE *pAaa = new TYPE[N];
615デフォルトの名無しさん (ワッチョイ)
2019/07/04(木) 00:56:53.06ID:knl8K+q10 まだやってるのかw
616デフォルトの名無しさん (ワッチョイ)
2019/07/04(木) 01:00:33.98ID:+bvr5vAX0617デフォルトの名無しさん (ワッチョイ)
2019/07/04(木) 01:02:18.21ID:jo/K3cJX0 自称天才すげーな
自分が何かいてるのか分かってないんだろうな
規格も読んでなさそう
自分が何かいてるのか分かってないんだろうな
規格も読んでなさそう
618デフォルトの名無しさん (ワッチョイ)
2019/07/04(木) 01:05:54.39ID:+bvr5vAX0619デフォルトの名無しさん (ワッチョイ)
2019/07/04(木) 01:21:19.34ID:OupeWpkE0 >>618
あなたは、C++とC#の速度が変わらないと思ってる系統の人だよね。
あなたは、C++とC#の速度が変わらないと思ってる系統の人だよね。
620デフォルトの名無しさん (ワッチョイ)
2019/07/04(木) 01:21:50.22ID:vGw4d28b0621デフォルトの名無しさん (ワッチョイ)
2019/07/04(木) 01:52:09.26ID:GHUD7qNB0 shared_array はまだ標準化されてないんだね。
622デフォルトの名無しさん (ワッチョイ)
2019/07/04(木) 02:32:03.47ID:z3/vg39Q0 たぶんこのおっさん例外安全って何かわかってないw
623デフォルトの名無しさん (ワッチョイ)
2019/07/04(木) 02:56:32.67ID:OupeWpkE0624デフォルトの名無しさん (ワッチョイ)
2019/07/04(木) 02:58:14.89ID:boKHx0+g0 >>623
誰がヒープ回収するねん...
誰がヒープ回収するねん...
625デフォルトの名無しさん (ワッチョイ)
2019/07/04(木) 03:00:26.38ID:QgrgqeUu0 とりあえずnewとかmake_sharedとかIDEがなくても型が明らかな場合はauto使おう
626デフォルトの名無しさん (ワッチョイ)
2019/07/04(木) 03:00:52.24ID:OupeWpkE0627デフォルトの名無しさん (ワッチョイ)
2019/07/04(木) 03:01:53.76ID:OupeWpkE0 「メモリ確保に失敗したこと」のメッセージを出す以外に対処法はないと
思うんだけど。
思うんだけど。
628デフォルトの名無しさん (ワッチョイ)
2019/07/04(木) 03:16:52.36ID:+bvr5vAX0 なんでnewで例外起こる話しているんだか
本当に全くわかっていないのね
本当に全くわかっていないのね
629デフォルトの名無しさん (ワッチョイ)
2019/07/04(木) 03:47:53.77ID:P4gQiU7c0 どうでもいい話はやめて今までにない新しい画期的なテクニックの話をしてくれ
頼む
一生のお願い
頼む
一生のお願い
630デフォルトの名無しさん (ワッチョイ)
2019/07/04(木) 05:48:37.09ID:Vr4LlPEB0 >>549
> n * (P * 2 - E * 0.5) > H2 - H1.
> n > (H2 - H1) / (P * 2 - E * 0.5).
> となる。
(P * 2 - E * 0.5)がマイナスだと不等号が逆転するのを忘れている
3 > 2 の両辺を-1で割ると -3 < -2
> n * (P * 2 - E * 0.5) > H2 - H1.
> n > (H2 - H1) / (P * 2 - E * 0.5).
> となる。
(P * 2 - E * 0.5)がマイナスだと不等号が逆転するのを忘れている
3 > 2 の両辺を-1で割ると -3 < -2
631デフォルトの名無しさん (オイコラミネオ)
2019/07/04(木) 07:22:01.27ID:Ic4+qAXvM >>629
そんなテクニックはここに書かない
そんなテクニックはここに書かない
632デフォルトの名無しさん (ワッチョイ)
2019/07/04(木) 08:41:24.64ID:boKHx0+g0633デフォルトの名無しさん (ワッチョイ)
2019/07/04(木) 08:52:16.87ID:yrHYMywV0634デフォルトの名無しさん (スッップ)
2019/07/04(木) 09:10:15.58ID:MHKH+BBjd また話それたのかw
ポインタもコンテナも結局都合の悪いレスはスルーしてるからこうなる
ポインタもコンテナも結局都合の悪いレスはスルーしてるからこうなる
635デフォルトの名無しさん (ブーイモ)
2019/07/04(木) 09:34:14.60ID:8zHkL2vVM こいつC++98で時間止まってるからな
20年かけてSTLコンテナの使い方学んで
その結果がvectorよりlist、それ以上に生ポインタが最強って結論
どうせ40代おっさん低収入だろうけど、自分を天才と呼び、
数学ががどうのこうの言うわり、単なる足し算掛け算をどや顔でさらすし、
本当読んでて可哀想になってくる
20年かけてSTLコンテナの使い方学んで
その結果がvectorよりlist、それ以上に生ポインタが最強って結論
どうせ40代おっさん低収入だろうけど、自分を天才と呼び、
数学ががどうのこうの言うわり、単なる足し算掛け算をどや顔でさらすし、
本当読んでて可哀想になってくる
636デフォルトの名無しさん (ブーイモ)
2019/07/04(木) 10:15:53.90ID:mwmcFkvyM 要素数固定ってコンパイル時に固定の意味と実行時にある値に決まるって意味があると思うけど
前者では T Arr[N]
後者では std::unique_ptr<T[ ],>
を使ってしまう。
それ自体をreturnしないときは std::array を使うのがかったるく感じてしまう
前者では T Arr[N]
後者では std::unique_ptr<T[ ],>
を使ってしまう。
それ自体をreturnしないときは std::array を使うのがかったるく感じてしまう
637デフォルトの名無しさん (ブーイモ)
2019/07/04(木) 10:35:11.99ID:VBCrH1IpM638デフォルトの名無しさん (アウアウウー)
2019/07/04(木) 11:36:25.81ID:Bk1vOaTSa639デフォルトの名無しさん (ブーイモ)
2019/07/04(木) 11:42:55.77ID:mwmcFkvyM でも std::begin std::end があるからスコープ内の単純な配列に std::arrayを使う
メリットがいまいちわからないんだよねー
メリットがいまいちわからないんだよねー
640デフォルトの名無しさん (ブーイモ)
2019/07/04(木) 11:55:46.77ID:zoOerLpiM begin endは普通の配列にも使えるだろ
641デフォルトの名無しさん (ブーイモ)
2019/07/04(木) 11:56:48.16ID:tdjije7mM642デフォルトの名無しさん (スフッ)
2019/07/04(木) 12:06:11.23ID:VQxD4eRSd template関数で受けたときにポインターにならないからauto lambdaで受けてもsizeがとれる
643デフォルトの名無しさん (ブーイモ)
2019/07/04(木) 12:17:57.65ID:mwmcFkvyM >>640
だから普通の配列を使ってしまうという話なんだが
だから普通の配列を使ってしまうという話なんだが
644デフォルトの名無しさん (ブーイモ)
2019/07/04(木) 12:19:43.85ID:mwmcFkvyM645デフォルトの名無しさん (ササクッテロ)
2019/07/04(木) 12:49:15.77ID:bmYDtW5Wp646デフォルトの名無しさん (ブーイモ)
2019/07/04(木) 12:50:55.35ID:zoOerLpiM >>643
変なところで改行するなよ
変なところで改行するなよ
647デフォルトの名無しさん (ブーイモ)
2019/07/04(木) 15:52:29.03ID:mwmcFkvyM648デフォルトの名無しさん (アウアウウー)
2019/07/04(木) 17:29:10.64ID:XTdeRRSwa 構造体をchar配列にシリアライズする方法を教えてください
649デフォルトの名無しさん (ワッチョイ)
2019/07/04(木) 17:31:04.99ID:QgrgqeUu0 memcpy
650デフォルトの名無しさん (ワントンキン)
2019/07/04(木) 17:32:23.03ID:MlPmA9V9M キャストしてぶっ込め
なお環境とアドレスによってはバスエラーが発生したりするよ
なお環境とアドレスによってはバスエラーが発生したりするよ
651デフォルトの名無しさん (スフッ)
2019/07/04(木) 17:41:18.95ID:DFmBoT0+d >>645
cとの互換性に起因した過去コードとの互換性保つために、配列を引数で渡そうとするとpointer渡しになるのだろう。
受け側でtemplate使ってT (&arr)[N]みたいに明示的に引き取らない限りは
c++20でstd::spanが使えるようになれば楽になるな。
それでも完全転送は通らないけど
cとの互換性に起因した過去コードとの互換性保つために、配列を引数で渡そうとするとpointer渡しになるのだろう。
受け側でtemplate使ってT (&arr)[N]みたいに明示的に引き取らない限りは
c++20でstd::spanが使えるようになれば楽になるな。
それでも完全転送は通らないけど
652デフォルトの名無しさん (アウアウウー)
2019/07/04(木) 17:42:05.56ID:Bk1vOaTSa 配置newで出来たりしますか?
653デフォルトの名無しさん (ワッチョイ)
2019/07/04(木) 20:00:03.82ID:C9xm0dvc0 >>651
いや、受け側でそう書いても、普通の配列はいけても
arrayは通らないんだわ・・自分の書き方が間違ってるのかもしれんけど
https://wandbox.org/permlink/LBzgUfB6MRtk9P12
いや、受け側でそう書いても、普通の配列はいけても
arrayは通らないんだわ・・自分の書き方が間違ってるのかもしれんけど
https://wandbox.org/permlink/LBzgUfB6MRtk9P12
654デフォルトの名無しさん (ワッチョイ)
2019/07/04(木) 20:05:01.64ID:SRe/Pasd0 使ってるコンパイラのArrayヘッダの実装見てそのメンバ変数名をしらべてそれを指定すれば通る
655デフォルトの名無しさん (スフッ)
2019/07/04(木) 20:12:08.06ID:DFmBoT0+d reinterpret_castならいけたけど未定義かどうかは知らん
656デフォルトの名無しさん (ワッチョイ)
2019/07/04(木) 20:40:50.48ID:C9xm0dvc0 別に無理に通そうとしてるわけじゃないんだぜ
arrayの不備のひとつではないかな、ってだけ
arrayの不備のひとつではないかな、ってだけ
657デフォルトの名無しさん (ワッチョイ)
2019/07/04(木) 20:53:10.33ID:SRe/Pasd0 暗黙変換定義すれば出来るんだろうけど、出来ない方が自然な気がする
658デフォルトの名無しさん (ワッチョイ)
2019/07/04(木) 20:54:01.06ID:GHUD7qNB0659デフォルトの名無しさん (ワッチョイ)
2019/07/04(木) 21:48:13.92ID:WSU/R6xT0 確かに内部配列の参照を取得する手段はあってもいい気がする
先頭のポインタはdata()で取れるけど、配列型そのものへと読み替える手段って標準の範囲にはないんだな
ちょっと意外
先頭のポインタはdata()で取れるけど、配列型そのものへと読み替える手段って標準の範囲にはないんだな
ちょっと意外
660デフォルトの名無しさん (ワントンキン)
2019/07/04(木) 22:18:07.85ID:MlPmA9V9M えっじゃあdataはどこをさしてんのよ
661デフォルトの名無しさん (ワッチョイ)
2019/07/04(木) 22:36:36.22ID:j4C7DC1D0662デフォルトの名無しさん (ワッチョイ)
2019/07/04(木) 22:41:46.89ID:C9xm0dvc0 >>660
いや、わかりにくかったかもしれんけど
配列の参照にキャスト出来れば配列またはarrayから、静的に要素数が取れるのよ
現状だとそういう時array版と配列の参照版の2つを書かなきゃいけない
ので配列の参照のキャスト演算子も定義しててくれたらなぁ・・
と思ったらポインタへのキャストも無いのね
まぁあくまでSTLフレンドリーな配列ってことなんだろう
いや、わかりにくかったかもしれんけど
配列の参照にキャスト出来れば配列またはarrayから、静的に要素数が取れるのよ
現状だとそういう時array版と配列の参照版の2つを書かなきゃいけない
ので配列の参照のキャスト演算子も定義しててくれたらなぁ・・
と思ったらポインタへのキャストも無いのね
まぁあくまでSTLフレンドリーな配列ってことなんだろう
663デフォルトの名無しさん (ワッチョイ)
2019/07/04(木) 22:51:51.05ID:GHUD7qNB0 ポインタ使うなと言ったそばからイテレータ使ってたら同じだろ、と誰も言わない優しいスレ
664デフォルトの名無しさん (ブーイモ)
2019/07/04(木) 22:52:31.12ID:8zHkL2vVM バイナリ肥大を屁とも思わず静的解決マンセーのやつに名前つけたいんだけどなんかないかな?
665デフォルトの名無しさん (ワッチョイ)
2019/07/04(木) 23:07:27.43ID:OMb74HbU0 イテレータ渡してるならdistanceで取ればええやん
666デフォルトの名無しさん (ワッチョイ)
2019/07/04(木) 23:11:39.07ID:+bvr5vAX0 バイナリむしろ減ることも多いしな
バイナリ肥大が許せないなら多少の工夫で何とでもなる
バイナリ肥大が許せないなら多少の工夫で何とでもなる
667デフォルトの名無しさん (ワッチョイ)
2019/07/04(木) 23:30:20.81ID:kZ6AZY+J0 バイナリ肥大を気にするならそもそもc++じゃなくてc使えや。
668デフォルトの名無しさん (ワッチョイ)
2019/07/04(木) 23:32:41.86ID:+bvr5vAX0 c使っても変わらんだろ
無駄に面倒臭くなるだけで
c++のままバイナリ肥大対策した方が楽だし効果も変わらない
無駄に面倒臭くなるだけで
c++のままバイナリ肥大対策した方が楽だし効果も変わらない
669デフォルトの名無しさん (ワッチョイ)
2019/07/04(木) 23:34:32.32ID:kZ6AZY+J0 なんだ真性のバカか。
670デフォルトの名無しさん (ワッチョイ)
2019/07/04(木) 23:35:07.30ID:gNJuQcZk0671デフォルトの名無しさん (ワッチョイ)
2019/07/04(木) 23:36:33.90ID:gNJuQcZk0 訂正;
誤:だってコンパイラが見渡せる範囲で要素のpush_back()をしていないし…
正:だってコンパイラが見渡せない範囲で要素のpush_back()をやられる可能性が無いコードやし…
誤:だってコンパイラが見渡せる範囲で要素のpush_back()をしていないし…
正:だってコンパイラが見渡せない範囲で要素のpush_back()をやられる可能性が無いコードやし…
672デフォルトの名無しさん (ワッチョイ)
2019/07/04(木) 23:37:50.01ID:OMb74HbU0 お前らそんなにカツカツのターゲットで仕事してるの?
フリースタンディング環境でトースターの制御マイコンとかそういう世界?
フリースタンディング環境でトースターの制御マイコンとかそういう世界?
673デフォルトの名無しさん (ワッチョイ)
2019/07/04(木) 23:42:16.32ID:+bvr5vAX0 マイコンでRAM1キロとかでもc++つかうよ。
ヒープどころかスタックすら殆んど使えず、ループカウンタすらstatic使うような状況でも、高級マクロとしての性能はc++の方が上
オーバーロード使えるだけでもありがたい
ヒープどころかスタックすら殆んど使えず、ループカウンタすらstatic使うような状況でも、高級マクロとしての性能はc++の方が上
オーバーロード使えるだけでもありがたい
674デフォルトの名無しさん (ワッチョイ)
2019/07/04(木) 23:44:44.77ID:gNJuQcZk0 しかしポインタは悪という考えには賛成する
全てのオブジェクトはimmutableであるべきだが現実にはそうではない
(オブジェクト指向プログラミングはmutableなオブジェクトを作る仕事だと一般に理解されている
するとポインタや参照の使用はオブジェクトの参照透明性を失わせる究極の悪となる
全てのオブジェクトはimmutableであるべきだが現実にはそうではない
(オブジェクト指向プログラミングはmutableなオブジェクトを作る仕事だと一般に理解されている
するとポインタや参照の使用はオブジェクトの参照透明性を失わせる究極の悪となる
675デフォルトの名無しさん (ワッチョイ)
2019/07/04(木) 23:45:53.18ID:+bvr5vAX0 バイナリ肥大は余り気にしなくていい
ROM容量はRAMとは桁違いに余裕あるし
速度稼ぐためにテーブル作って持っておくとかでもc++だとやり易いw
ROM容量はRAMとは桁違いに余裕あるし
速度稼ぐためにテーブル作って持っておくとかでもc++だとやり易いw
676デフォルトの名無しさん (ワッチョイ)
2019/07/05(金) 00:42:05.40ID:iD2vPqXr0 ポインタは悪いは草
プログラムの性質そのものだろw
良いも悪いもない
プログラムの性質そのものだろw
良いも悪いもない
677デフォルトの名無しさん (ワッチョイ)
2019/07/05(金) 00:50:35.24ID:sXJnPGx/0 >>675
おいおい
今時組み込みでrom実行する環境ほとんどないだろ
だいたい普通肥大化したかどうか比較できん
2つ作ることなんてまずないし
もし容量が足りなくなったら実行コードより他のでかいデータがやり玉になるので目立たない
おいおい
今時組み込みでrom実行する環境ほとんどないだろ
だいたい普通肥大化したかどうか比較できん
2つ作ることなんてまずないし
もし容量が足りなくなったら実行コードより他のでかいデータがやり玉になるので目立たない
678デフォルトの名無しさん (ワッチョイ)
2019/07/05(金) 01:08:22.53ID:V2Gzd6Sr0 参照子を長い時間や広い空間で保持する行為が危険なのはどんな言語でも同じ。
679デフォルトの名無しさん (ワッチョイ)
2019/07/05(金) 01:20:04.09ID:RI4o57M10680デフォルトの名無しさん (ワッチョイ)
2019/07/05(金) 01:20:13.88ID:pqoXwmD60 ファームウェアのバージョンアップとかなら容量との戦い出てくるんでないの
681デフォルトの名無しさん (ワッチョイ)
2019/07/05(金) 01:20:46.48ID:Gz4SaY1k0 rom実行する業界ですまん
自分とこの環境はrom容量も限られてるけどロジックでの肥大化よりデータの肥大化の方が圧倒的に大きいからそこまで気にならんけど
自分とこの環境はrom容量も限られてるけどロジックでの肥大化よりデータの肥大化の方が圧倒的に大きいからそこまで気にならんけど
682679 (ワッチョイ)
2019/07/05(金) 01:29:54.68ID:RI4o57M10 すまん全部immutableならと書こうとして手が滑った、
683デフォルトの名無しさん (ワッチョイ)
2019/07/05(金) 01:33:18.52ID:RI4o57M10 ポップアップトースターのファームウェア(入力はほとんど時間と温度だけ、出力は動作だけ)で
実行コードより他のでかいデータが生じるケースとは
なんじゃらほい
実行コードより他のでかいデータが生じるケースとは
なんじゃらほい
684デフォルトの名無しさん (ワッチョイ)
2019/07/05(金) 01:33:25.26ID:iD2vPqXr0 高級アセンブラの役割があること理解してる奴いないな
685デフォルトの名無しさん (ワッチョイ)
2019/07/05(金) 01:48:21.75ID:84H5xbwY0 シンプルなポップアップトースターに電子制御はいらんし
電子制御するような高機能トースターなら音声データくらい入ってるかもしれん
電子制御するような高機能トースターなら音声データくらい入ってるかもしれん
686デフォルトの名無しさん (ワッチョイ)
2019/07/05(金) 02:03:59.75ID:iD2vPqXr0 転倒したときに加熱が停止するようにするくらいの制御はいるでしょ
687デフォルトの名無しさん (ワッチョイ)
2019/07/05(金) 02:10:23.60ID:RI4o57M10688デフォルトの名無しさん (ワッチョイ)
2019/07/05(金) 02:11:34.20ID:84H5xbwY0 転倒時の停止なんかに電子制御はいらん
床面に接触するとオンになり、離れたら回路が切断される、というような単純なスイッチだけで十分
床面に接触するとオンになり、離れたら回路が切断される、というような単純なスイッチだけで十分
689デフォルトの名無しさん (ワッチョイ)
2019/07/05(金) 02:12:54.60ID:RI4o57M10 もっとも、状態変数みたいなmutableで邪悪なものを使わずに
全てimmutablueなオブジェクトでスマートに済ませるなら、オブジェクトの生成がデータの生成に該当し、多少RAM容量を消費するが
な、
全てimmutablueなオブジェクトでスマートに済ませるなら、オブジェクトの生成がデータの生成に該当し、多少RAM容量を消費するが
な、
690デフォルトの名無しさん (ワッチョイ)
2019/07/05(金) 02:20:38.54ID:iD2vPqXr0 >>688
なるほど
なるほど
691デフォルトの名無しさん (ブーイモ)
2019/07/05(金) 07:41:44.43ID:RDJzDNDNM Rom実行でC++のテンプレートばりばり使ってバイナリ肥大しても問題ない環境ってどんなの?
プロセッサ、OS、メモリのサイズあたりどんなもん?
プロセッサ、OS、メモリのサイズあたりどんなもん?
692デフォルトの名無しさん (ワッチョイ)
2019/07/05(金) 08:32:12.48ID:Gz4SaY1k0 OSは無し、CPUは数百Mhz、RAMは数十KB
誤解を招いたかもしれんが環境がこういう感じなんでテンプレートばりばりなんて無理なんだ
誤解を招いたかもしれんが環境がこういう感じなんでテンプレートばりばりなんて無理なんだ
693デフォルトの名無しさん (ワッチョイ)
2019/07/05(金) 10:27:12.65ID:V2Gzd6Sr0 C++はろくに使いもしない巨大モジュールがプログラムのビルド時にリンクされるから実用性ないわな・・・
694デフォルトの名無しさん (ブーイモ)
2019/07/05(金) 11:53:33.73ID:RDJzDNDNM695デフォルトの名無しさん (ワンミングク)
2019/07/05(金) 12:05:00.53ID:vxFjgZssM またCで十分おじさんか
696デフォルトの名無しさん (スフッ)
2019/07/05(金) 12:26:27.03ID:8Dqkh8+pd もちろん例外なし、RTTIなし、標準コンテナなし、仮想関数無し、new mallocも無し
だよ
templateで組み込みのC関数呼び出しに変換する固定小数点クラス作ったり、peripheralの実アドレスにmapしてメンバ関数で制御可能なラッパー作ったりと、メモリやバイナリ肥大しない様に使うのでも、c++機能は色々使い手が多い
だよ
templateで組み込みのC関数呼び出しに変換する固定小数点クラス作ったり、peripheralの実アドレスにmapしてメンバ関数で制御可能なラッパー作ったりと、メモリやバイナリ肥大しない様に使うのでも、c++機能は色々使い手が多い
697デフォルトの名無しさん (ドコグロ)
2019/07/05(金) 13:02:54.74ID:yhA0U74XM いわゆるBetter Cだろ
俺もそう言うのよくやる
俺もそう言うのよくやる
698デフォルトの名無しさん (ブーイモ)
2019/07/05(金) 13:20:11.14ID:RDJzDNDNM699デフォルトの名無しさん (ワッチョイ)
2019/07/05(金) 13:31:43.83ID:h+45fasi0 ?
元々バイナリ肥大全く気にしないとかではないだろ
template使うとバイナリが必ず肥大するってのが大嘘なのよ
うまく使えばCよりユーザー側の負担を減らしたまま、バイナリサイズ減る方向に誘導出来る
ifdefのスイッチを型で分岐して自動指定するようなことが出来るからね
元々バイナリ肥大全く気にしないとかではないだろ
template使うとバイナリが必ず肥大するってのが大嘘なのよ
うまく使えばCよりユーザー側の負担を減らしたまま、バイナリサイズ減る方向に誘導出来る
ifdefのスイッチを型で分岐して自動指定するようなことが出来るからね
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【速報】日本産牛肉の対中国輸出再開協議が中止 [おっさん友の会★]
- 【次の一手】台湾問題で小林よしのり氏が私見「まさに戦争前夜」「ただちに徴兵制を敷いて、高市支持者を最前線へ」… ★2 [BFU★]
- 【次の一手】台湾問題で小林よしのり氏が私見「まさに戦争前夜」「ただちに徴兵制を敷いて、高市支持者を最前線へ」… ★3 [BFU★]
- 高市首相答弁を“引き出した”立民・岡田克也氏が改めて説明「なぜ慎重な答弁をされなかったのか。非常に残念に思っている」 ★4 [ぐれ★]
- 毛寧(もう・ねい)報道官「中国に日本の水産品の市場は無い」 高市首相の国会答弁に「中国民衆の強い怒り」 [ぐれ★]
- 【速報】日本産牛肉の対中国輸出再開協議が中止 ★2 [おっさん友の会★]
- 日本人気付く「今思うとアメリカとも中国とも上手くやれてた安倍晋三ってガチで凄かったんだな」 [218488394]
- 【赤旗スクープ】維新・高木総務会長も公金還流。政策秘書の3会社に家賃など2726万円 [593776499]
- 【実況】博衣こよりのえちえち雑談🧪★2
- 高市コイン、ガチで156円突入へwwwwwwwwww [246620176]
- 高市早苗、こんな大事な時に雲隠れして一切表に出てこない。ネトウヨ「高市さんは天照大御神の生まれ変わり!」 [165981677]
- 中国政府、日本人のビザ免除停止、鬼滅の刃公開停止を検討へ [271912485]
