[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 02/26 03:13 / Filesize : 247 KB / Number-of Response : 1023
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

C++相談室 part146



1 名前:デフォルトの名無しさん mailto:sage [2019/11/07(木) 11:35:36.76 ID:4wggfTwe.net]
C++に関する質問やら話題やらはこちらへどうぞ。
ただし質問の前にはFAQに一通り目を通してください。
IDE (VC++など)などの使い方の質問はその開発環境のスレにお願いします。

前スレ
C++相談室 part145
mevius.5ch.net/test/read.cgi/tech/1568362404/

このスレもよろしくね。
【初心者歓迎】C/C++室 Ver.105【環境依存OK】
mevius.5ch.net/test/read.cgi/tech/1556142878/

■長いソースを貼るときはここへ。■
 codepad.org/
 https://ideone.com/

[C++ FAQ]
https://isocpp.org/wiki/faq/
www.bohyoh.com/CandCPP/FAQ/ (日本語)

133 名前: mailto:sage [2019/11/23(土) 16:46:36.89 ID:bse8qODO.net]
>>128
中間言語や VM の存在は C# の本質ではないと思います
マイクロソフトもいずれネイティブコードを吐く C# コンパイラを出してくるでしょう、私には VM なんてなんの腹の足しにもならない無駄な機構にしかみえません

134 名前:デフォルトの名無しさん mailto:sage [2019/11/23(土) 16:49:37.49 ID:KvoIJqUR.net]
PGのVM設計するときに参照するのがx86だったりとかで、結局ロックインしちゃってる気がする。
複数の未知のCPUにJITできるように組んでないような気がする。

135 名前:デフォルトの名無しさん mailto:sage [2019/11/23(土) 17:12:01.03 ID:3WxMvOwa.net]
wintelの目指すトコロはCPUアーキテクチャと専用高級言語の囲い込みでしょ
C++を潰すには、みたいな第二次ハロウィン怪文書を思案中だよきっと

136 名前:デフォルトの名無しさん mailto:sage [2019/11/23(土) 17:37:47.06 ID:CZ47p2RQ.net]
言語で囲い込みとかないない

137 名前:デフォルトの名無しさん mailto:sage [2019/11/23(土) 18:11:45.72 ID:U8iKLMmJ.net]
>>132
今でも .NET の中間コードは、native コード化できます。

138 名前:デフォルトの名無しさん mailto:sage [2019/11/23(土) 18:14:16.80 ID:U8iKLMmJ.net]
>>136
できますが、結局、GCを使うので、C++並の速度にはなりません。
GCが動いた場合、処理時間のオーダーが違うので、CPUがどんなに速くなっても
どんなに最適化を施しても無理です。

139 名前:デフォルトの名無しさん mailto:sage [2019/11/23(土) 18:31:11.69 ID:D2JmV2eo.net]
GC無効化すればいいのか?

140 名前:デフォルトの名無しさん mailto:sage [2019/11/23(土) 18:34:17.97 ID:pbrffxke.net]
deleteないのに

141 名前:デフォルトの名無しさん mailto:sage [2019/11/23(土) 20:26:44.43 ID:pwNFgn+1.net]
GC洗脳にかかったやつを正気に戻すのは大変だぞ



142 名前:デフォルトの名無しさん mailto:sage [2019/11/23(土) 20:59:39.93 ID:W1wK9gMe.net]
ビジネス用途を想定しているC#と基礎技術を支えるC++が競合してると思ってるのが面白い

143 名前:デフォルトの名無しさん mailto:sage [2019/11/23(土) 21:20:13.50 ID:fygFNKSM.net]
GC で止まるのが嫌なら、GCの無い、Rust を使え!

その代わり、かなり注意深くプログラミングしないといけないw

144 名前:デフォルトの名無しさん mailto:sage [2019/11/23(土) 21:24:45.73 ID:W1wK9gMe.net]
注意深くプログラミングしなくていい言語なんてあるのか

145 名前:デフォルトの名無しさん mailto:sage [2019/11/23(土) 21:28:04.03 ID:ItEg5azI.net]
昔は1日の業務の終わりにGCを走らせてから帰宅したもんだ。翌朝までにGCが完了してればそれで充分だった。
いまは物理メモリが広いので速度クリティカルな部分ではGCを無効化するのもありかもしれない。
それだとしてもC#はC++を置き換えられないよ。思想が違うもの。

146 名前:デフォルトの名無しさん mailto:sage [2019/11/23(土) 21:35:18.52 ID:fY6FJFDb.net]
やっぱ今衝突とか爆発しそうなその瞬間に寄りによってGC走ったら悔やんでも悔やみきれないからな
GCなし言語には生き残ってもらわないと

147 名前:デフォルトの名無しさん mailto:sage [2019/11/23(土) 21:57:34.36 ID:jA/F562D.net]
>>145
それはRTOS使わないといけない
C++でも割り込みで予期せず遅れることはある

148 名前:デフォルトの名無しさん mailto:sage [2019/11/23(土) 22:48:42.12 ID:fY6FJFDb.net]
詳しい情報サンクス

149 名前:デフォルトの名無しさん mailto:sage [2019/11/23(土) 23:09:28.20 ID:rsD80hR9.net]
>>145
えっ?

150 名前:デフォルトの名無しさん mailto:sage [2019/11/23(土) 23:10:31.11 ID:rsD80hR9.net]
>>146
えっ?

こっちだった

151 名前:デフォルトの名無しさん mailto:sage [2019/11/24(日) 15:08:37.94 ID:FJ6sVzWZ.net]
Rustはコンパイルが通った時点で(メモリ管理に関しては)注意深くプログラミングし終えたことになる、
抜け穴がないわけではないが普段気にするほどではない



152 名前:デフォルトの名無しさん mailto:sage [2019/11/24(日) 15:14:02.85 ID:FJ6sVzWZ.net]
GCとプログラムの実行速度の姦計は、
GCが極力動かないようにプログラマの側で工夫する余地があるから必ずしも打つ手が無いわけでは…
(GCが動き出したらワーストケースの見積りが吹っ飛ぶというのはあるが

とゆーわけでC++に比べてC#がいまいち遅いのはGCが主犯というわけではなく、
オブジェクトに参照経由で毎回間接アクセスする言語仕様なのと
JITでマルチプラットフォーム対応可能なことと引き換えに最適化があんま利かせられていないせいだと思う
あとネイティブコードを呼び出す最にマーシャリングもするし、
ジャヴァのサンドボックス思想をパクるために仕方なかった側面、

153 名前:デフォルトの名無しさん mailto:sage [2019/11/24(日) 15:29:19.64 ID:FJ6sVzWZ.net]
ユーザーコードがバックグラウンドタスク(応答時間非規定で可)でGCを使うだけなら
GCとリアルタイム性は両立しないわけでは無い

まあGC有りのプログラミング言語でプログラムする状況で
GCが使われる状況がバックグラウンドタスクのみに限定されるというのは
非現実的な想定かもしれんが

154 名前:デフォルトの名無しさん mailto:sage [2019/11/24(日) 16:02:47.84 ID:s1tpy+px.net]
>>151
姦計とか、どんな文脈で使ってたんだよw

155 名前:はちみつ餃子 mailto:sage [2019/11/24(日) 17:46:57.62 ID:FzCW75Pg.net]
今時のよくできた GC (の実装) はインクリメンタル化されてるから、
良い感じに暇なときを見つけて動いてくれるっしょ

156 名前:デフォルトの名無しさん mailto:sage [2019/11/24(日) 18:07:45.83 ID:lsOVnPbd.net]
技術職としての適性を著しく欠いた発言だな

157 名前:デフォルトの名無しさん mailto:sage [2019/11/24(日) 18:49:08.07 ID:np+ynBzF.net]
あれ?この人職業プログラマなの?
趣味でお気楽にやってるだけの人だと持ってた

158 名前:デフォルトの名無しさん mailto:sage [2019/11/24(日) 18:50:48.11 ID:lsOVnPbd.net]
どうりでな

159 名前:デフォルトの名無しさん mailto:sage [2019/11/24(日) 19:43:00.54 ID:aq7LfmWh.net]
わたくしが「現代現象」と呼称する一連の悲劇的な出来事は
なんの変哲もない日常がいきなり変貌を遂げるものであり
その猶予は0.1秒もない

スイスチーズモデルを天文学的数字ですり抜けたそれら現代現象への対処時間は大抵は1秒未満になる
なので未来になればなるほど思いもよらない意味不明で突発的で素早い破壊事象が起こる

これを踏まえて車載映像の事故映像を見てみると猶予が本当に少ないことが分かる
なので自動運転では各種の重い処理はマーフィーの法則によれば衝突する0.1秒前の「暇な時」に動き出す
これを超克するには未来予知が必要になる

160 名前: mailto:sage [2019/11/24(日) 19:55:00.69 ID:oHJXyQoT.net]
>>155
はちみつさんは lisp-er ですから、lisp-er 的な視点で現在のプログラミング環境をみれば、
やっと時代が lisp に追いついてきた、という感慨が発生するのも自然だと思いますよ
GC も lisp の産物ですから

「適正に欠く」と判断する推論内容は理解できませんね

161 名前:デフォルトの名無しさん mailto:sage [2019/11/24(日) 20:23:39.32 ID:lsOVnPbd.net]
>>159
それは、おまえも適性を欠いているということだ
形容詞に比較をつけないとか、定量的でないとか、
魔法的にアレしてくれるだろうとか
おまえの頭ん中も同じだとここで露呈して今どんな気持ち?



162 名前: mailto:sage [2019/11/24(日) 21:42:37.16 ID:oHJXyQoT.net]
>>160
私に適性がないのはそのとおりなのでしょうが、いちいち定量的に条件を明示して話をしなければならないわけでもないでしょう
魔法的にアレするレイヤーの話は別途規定する前提で、今は特に大局観を語りたいときにはね

あなたは、戦術レベルの話はできても戦略レベルの話は理解できない大局観に欠いた狭量な、例えば java 屋さんに見えますね

163 名前:デフォルトの名無しさん mailto:sage [2019/11/24(日) 22:00:07.13 ID:lsOVnPbd.ne ]
[ここ壊れてます]

164 名前:t mailto: >>161
主張に説得力がないって指摘がおまえまだわからないのか?
あいた口が塞がらんわ
[]
[ここ壊れてます]

165 名前:デフォルトの名無しさん mailto:sage [2019/11/24(日) 22:15:54.73 ID:zs+LjqkQ.net]
ほんと攻撃的なやつが多いな
これだからC++界隈は

166 名前:デフォルトの名無しさん mailto:sage [2019/11/24(日) 22:23:01.28 ID:gOHxLuuk.net]
>>132
>いずれネイティブコードを吐く C# コンパイラを出してくる
すでに出とるが
いつの時代の話しだ

167 名前:デフォルトの名無しさん mailto:sage [2019/11/24(日) 23:26:27.29 ID:O9JrjuKo.net]
C++erは献血してから書き込めよ

168 名前:はちみつ餃子 mailto:sage [2019/11/25(月) 00:55:16.50 ID:a5DfrA3a.net]
>>159
ワイは Scheme 使いでもあるし日常的には Scheme の方をよく使ってはいるが、
長いことバイナリマンだったし、 LISP の思想にそんな強い思い入れはないわ。

ただ、評価とかごちゃごちゃ言ってないで手早く

169 名前:書いて実測しろってのは LISP 的かもね。
今では他の言語でも書きながら速いサイクルで回して改善するスタイルって一般的じゃね?
書き始めは楽観的にやってるよ。

なるべく楽して必要になってから手間かけりゃいいんだよ。
そんでもってゆるふわに富豪的プログラミングしてても割と足りてしまう経験の方がおおいなぁ。

>>156
俺は趣味人やで。
[]
[ここ壊れてます]

170 名前:デフォルトの名無しさん mailto:sage [2019/11/25(月) 07:22:11.28 ID:Nb9YSlRo.net]
> 富豪的プログラミング

相手してはいかんやつだったコイツ

171 名前:デフォルトの名無しさん mailto:sage [2019/11/25(月) 10:37:33.23 ID:fJS33Jzt.net]
>>163
これだけ広いスパン使われて、いろいろな書き方がある言語なのに
ユーザーは多様性に非寛容というのはなかなか興味深い現象。



172 名前:デフォルトの名無しさん mailto:sage [2019/11/25(月) 10:43:38.75 ID:Nb9YSlRo.net]
いや多様な使い方を求めるからこそ
GC厨の矮小な発想範囲を危惧するんだ

173 名前:デフォルトの名無しさん mailto:sage [2019/11/25(月) 16:07:54.78 ID:biP2ABGV.net]
この板にまともなやつ少ないだけじゃないの

174 名前:デフォルトの名無しさん mailto:sage [2019/11/25(月) 17:10:10.70 ID:N1T6mRww.net]
>>170
じつは、きみが正解

175 名前:デフォルトの名無しさん mailto:sage [2019/11/25(月) 17:43:35.94 ID:iOqWCNFx.net]
>>170
お前はいつも正しい

176 名前: mailto:sage [2019/11/25(月) 19:52:15.88 ID:2aQAGKkK.net]
>>170
説得力のあるご意見ですね…

177 名前:デフォルトの名無しさん mailto:sage [2019/11/25(月) 20:35:32.15 ID:0R6sv3EZ.net]
>>170
じゃあ俺もアンカつけとくか

178 名前:デフォルトの名無しさん mailto:sage [2019/11/25(月) 20:50:09.52 ID:X/XdXIky.net]
>>173
竹島はどこの国の領土ですか?

179 名前: mailto:sage [2019/11/25(月) 20:53:20.18 ID:2aQAGKkK.net]
>>175
日本だと思っていますが?

180 名前:デフォルトの名無しさん mailto:sage [2019/11/25(月) 20:59:20.98 ID:jiZC6v9k.net]
>>170
この板で唯一まともな僕も赤くしておこう

181 名前:デフォルトの名無しさん [2019/11/25(月) 21:40:59.01 ID:p8s7YmVo.net]
C#って、これ以上の普及はもう無理だろ。WindowsのUIアプリでしか存在価値はない。
MonoはイマイチでJavaはなくならんし、WebもAIもスクリプト言語系でOK。
タイムクリティカルなエンジン部をC++で書いて、スクリプト言語(Python含めて)
使うのが主流化してる。C#を使う場面が無い。



182 名前:デフォルトの名無しさん mailto:sage [2019/11/25(月) 21:58:00.63 ID:YppxgWfG.net]
Unity

183 名前:デフォルトの名無しさん mailto:sage [2019/11/25(月) 21:58:44.19 ID:K0cOW7SD.net]
会社の上層部がMSの営業に騙されてAzureの導入を決めてしまった場合、
マネージドサービスの利用のためにはC#を使用せざるを得ない
他の言語では事実上使い物にならない

184 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 00:48:28 ID:jE+AmQNT.net]
Windowsのデスクトップアプリを手っ取り早く作るにはC#以外の選択肢が無い

185 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 00:49:10 ID:FjVBoEgv.net]
保守的な経営者とそこそこの技術力の社員でも使えるんだからAzureというのは大したもんだな

186 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 03:32:39 ID:PQgL7aAd.net]
windowsに関わってる限りC#とC++/CLIからは逃れられない

187 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 03:38:53 ID:jE+AmQNT.net]
C++/CLIと関わったことがない

188 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 05:29:20 ID:PYT33B53.net]
>>132
制限付きながら、既にネイティブコードは吐ける

189 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 05:54:06 ID:PYT33B53.net]
>タイムクリティカルなエンジン部をC++で書いて、スクリプト言語(Python含めて)
>使うのが主流化してる。C#を使う場面が無い。

主流て、そんなもん昔からほぼこういう書き方してるだろwww
そこで、スクリプト言語を使ってどれだけ実行時間に影響与えてるか正しく認識してないのが多い。
ここでC#使ってこんなに違うのかと初めて気づく。
そして、単に実行速度ってことならエンジンにC++使わずともC#でもそこそこ勝負できるってことも認識するのが情弱。

タイムクリティカルな用途ならそれこそOSからしてラウンドロビン

190 名前:なんか使わない。
RTOSでわざわざ、メモリプール設定してるのに、new/delete繰り返すようなC++流の書き方はそもそもよろしくない。
C++で非推奨の限りなくpure Cに近い書き方してるのはもはやC++とはいわんだろ。
[]
[ここ壊れてます]

191 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 07:33:35 ID:auNO4ARl.net]
> RTOSでわざわざ(中略)C++流

そう思い込んでる迷惑なのがいるんだよ
おまえみたいな



192 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 08:07:38.46 ID:uPJEEVDZ.net]
タイムクリティカルもいろんなレベルがあるから

ハード実装
FPGA
OSレスのフルアセンブラ
RTOS + C
....
クラウド

193 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 08:12:14.93 ID:uPJEEVDZ.net]
> C++で非推奨の限りなくpure Cに近い書き方してるのはもはやC++とはいわんだろ。

テンプレート、ラムダ、...を使いまくるコーディングだけがC++じゃない
小規模組み込みでnewすら使わない泥臭いC++もC++

194 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 08:51:30.13 ID:auNO4ARl.net]
禿も必要な機能だけを使え、無理に全機能を使おうとするなって言ってるね

195 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 10:50:10.03 ID:6Teht3Z8.net]
クラスにupdateという関数があってそれが何回もメイン関数にあるインスタンスから呼び出されるのですが
update内で変数宣言を書いている場合、領域の確保は呼び出される度に行われますか?

196 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 11:27:29 ID:auNO4ARl.net]
うん

197 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 12:08:17 ID:GwsQnBsH.net]
その宣言にstaticがついてなければ毎回領域確保が行われる

198 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 12:56:56.77 ID:BYZ9sIOZ.net]
変数の宣言と定義、用語の違いを利用した罠かも知れん。

199 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 13:01:29.72 ID:njyF587z.net]
変数自体はスタック(またはレジスタ)に割り当てられるから
確保解放のコストは気にするな

変数の内部(コンストラクタ他)でのメモリ確保解放や初期化処のコストは当然気にしよう
パフォーマンスの問題であればクラス変数にする等

200 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 13:05:09.36 ID:auNO4ARl.net]
関数を使おうってときに
関数内変数をデータメンバに改造するアホが
うちの若いのにいたら焼きだ

201 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 13:11:02 ID:njyF587z.net]
パフォーマンスに問題があるならやるしかない



202 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 13:14:44 ID:njyF587z.net]
バッファをあらかじめ確保しておくなんて
ごく当たり前のことだと思ってたけど
そうじゃないのか?

updateなんていう、
クラスの内部に直結してそうな関数ならなおさら

203 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 13:16:07 ID:XO/gVUyI.net]
とか抜かすやつに限って計測もせずに片っ端から最適化と称した難読化をしやがる

204 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 13:18:32 ID:njyF587z.net]
パフォーマンスの問題であれば
パフォーマンスに問題があるなら

205 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 13:20:23 ID:XO/gVUyI.net]
>>200
パフォーマンスの問題であるなら、まずは計測する
そして最適化厨が必死に難読化を施しているその箇所は、殆どの場合パフォーマンスに全く影響しない

206 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 13:23:10 ID:njyF587z.net]
パフォーマンスを考えなくていいプログラムなら
そもそもC++を選ぶのが間違い

207 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 13:24:09 ID:njyF587z.net]
少なくとも質問者は気にしている

208 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 13:25:28 ID:njyF587z.net]
パフォーマンスなのかフラグメントなのか使用リソースなのか
何を気にしてるのかはわからないけど

209 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 13:35:02 ID:XO/gVUyI.net]
再入やマルチスレッドで死ぬ恐れもあるから、このレベルの初心者にバッファの事前確保が当然だなどという阿呆な考えを植え付けることはテロ行為に等しい

210 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 14:14:31 ID:jE+AmQNT.net]
内部でnewを使ってるクラスの変数かも知れない

211 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 15:17:34 ID:GwsQnBsH.net]
>>191はstaticがついてなければyesで終わる話
それに勝手な前提つけたしていらん押し付けをするからお前らは駄目なんだぞ



212 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 15:28:32 ID:FGS0cB19.net]
>>207
会話するのが嫌いならわざわざ書き込まなくて良いんだよ

213 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 15:51:04 ID:jE+AmQNT.net]
ゴミみたいな会話するな

214 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) ]
[ここ壊れてます]

215 名前:16:11:06 ID:FF/Zqwz/.net mailto: https://ideone.com/kprgQF
ちょっと暇だったので、
昔のビットシフトの掛け算と割り算って、
今の技術使ったら爆速になるんじゃないかと思ったのですよ。
で、書いてみたのだけど、知識不足で到達しないんだ。
なんでだろう??
[]
[ここ壊れてます]

216 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 16:15:11.65 ID:fUnM+X7O.net]
>>202
そのプログラム全体が速度が要求される訳でもなかろう。必要なところだけ必要なぶんだけ高速化しろよ。
速度が要求されない部分も別にわざわざ別の言語で作るメリットがなければC++のままで構わないわけだし。

217 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 16:18:03.80 ID:fUnM+X7O.net]
>>208
質問者にとっては混乱させられるだけの余分な情報だし、知っている人からすれば当たり前で価値のない情報だし、実のない議論したいだけの無意味な付け足しは要らんよ。

218 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 16:46:50 ID:FF/Zqwz/.net]
俺が言いたいのは一つだ。
C言語は超高等言語なので、その前にC++使うのだ!

219 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 17:39:44.76 ID:M+fYb0eE.net]
>>211
>>203

220 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 17:59:37.88 ID:yLsU10sd.net]
いやそもそも>>195の前半で解答は終わってるだろ
>>195の後半は余計

221 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 18:06:10.26 ID:M+fYb0eE.net]
>>210
普通の型なら普通にC++で書いた方が良い
定数ならコンパイラが工夫する

普通じゃない型、例えば多倍長でも
1ビットずつシフトして速くなることは無いと思って良い



222 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 18:06:14.04 ID:Wuw5jSRm.net]
>>210
>今の技術使ったら爆速に
ならねーよw

223 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 18:52:42.91 ID:FF/Zqwz/.net]
>>217
ならないかー。
コンパイルタイム時に置き換えるから、1サイクルに落ちるものだと・・・。

224 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 19:27:14.09 ID:Kb2Sko2q.net]
爆速にならなくても1サイクルだろうよ

225 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 19:41:24.45 ID:78UVTJ0X.net]
1サイクルじゃシフトしか出来ない

226 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 19:48:34.46 ID:2UYQ/Noe.net]
なんか根本的にconstexprを勘違いしてる初心者がよくそういうこと言うけど
定数同士の計算の省略なんか大昔からある最適化だぞ
C++03以前を偉そうにデイスってる奴(>>210は別として)最近多いけど、そういうのに限ってこういう基礎が全くわかってない

227 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 19:57:12.90 ID:dLX9Z9/K.net]
constexprの利点はtemplateとif constexprの組み合わせがおすすめだと思うの。

228 名前: mailto:sage [2019/11/26(火) 20:04:28.16 ID:eitz3RWA.net]
>>210
https://mevius.5ch.net/test/read.cgi/tech/1434079972/51
多桁長演算の乗算・除算もやってみたかったので書いたものです

229 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 20:23:56.31 ID:78UVTJ0X.net]
>>218を読まずに>>220を書いた
コンパイル時に解決するなら0サイクルだ

230 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 20:29:02.34 ID:78UVTJ0X.net]
よく分からない多倍長ライブラリを使うのであれば
当然コンパイル時に解決出来るとは限らない

231 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 20:32:56.90 ID:sE/nea3J.net]
>>223
多倍長の乗算は筆算の要領で出来るの算数程度の数学で足りるが、
多倍長の除算は、CPUが持っている除算命令を使って行おうとすると
数学的な考える力が必要になる。アルゴリズムは既に有ることはあるはずだが、
丁寧に解説されているわけではないので自分の力で証明できるくらいの
人で無いと難しいと思う。



232 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 20:35:31.27 ID:78UVTJ0X.net]
>>226
素人が適当な事を言わない方が良いかと

233 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 20:39:17.37 ID:78UVTJ0X.net]
多倍長の乗算は、
非常に桁数が少ないときのみ筆算方式
もうちょっと大きいとカラツバ
もっと大きいとフーリエ変換

除算はニュートン法が一般的かと

もちろん、
特殊な形だと特殊な方法があったりする






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<247KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef