C++相談室 part166 (607レス)
C++相談室 part166 http://mevius.5ch.net/test/read.cgi/tech/1745631298/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
415: デフォルトの名無しさん (オイコラミネオ MMdd-Rgxs) [sage] 2025/06/20(金) 21:48:47.56 ID:ykKOKnwYM 最適化されて変わる可能性があるのは、今思い出せるのは、 ・初期化してない変数の中身 ・変数のアドレス ・結果を利用せず、副作用も伴わない式の存在。 整数に対する四則演算を含めた「計算」は、仕様が決められているので、 同じコンパイラと同じターゲット(OS、環境)だと最適化しても 結果は変わらない。 浮動小数点に対する計算は誤差の範囲で結果が変化する可能性はある。 http://mevius.5ch.net/test/read.cgi/tech/1745631298/415
416: デフォルトの名無しさん (オイコラミネオ MMdd-Rgxs) [sage] 2025/06/20(金) 22:25:10.37 ID:ykKOKnwYM >>415 1. 整数の計算途中に「桁あふれ」が起きる場合はこの限りではないかも知れない。 例えば、整数型 a に対して、a * 100 / 5 は、a * 20 と最適化できる 可能性がある。しかし a がとても大きい場合には結果は同じにはならない可能性がある。このことに 関して仕様がどうなっているかは知らない。 2. 浮動小数点型の変数 a に対して、(a * 100.0) / 5.0 は、 a * 20.0 と最適化できる可能性があるが、浮動小数点型には計算誤差が
あるので、 誤差の範囲内で異なる結果になる可能性があるかもしれない。 これに対して仕様上、最適化していいかどうか走らない。 3. しかし、整数型 http://mevius.5ch.net/test/read.cgi/tech/1745631298/416
417: デフォルトの名無しさん (オイコラミネオ MMdd-Rgxs) [] 2025/06/20(金) 22:25:52.67 ID:ykKOKnwYM >>416 3. しかし、整数型変数 a に対して、(a / 100) * 100 は、 明らかに http://mevius.5ch.net/test/read.cgi/tech/1745631298/417
418: デフォルトの名無しさん (オイコラミネオ MMdd-Rgxs) [sage] 2025/06/20(金) 22:26:34.77 ID:ykKOKnwYM >>416 3. しかし、整数型変数 a に対して、(a / 100) * 100 は、 明らかに a とは、結果が異なる。だから a と最適化される事は無い。 http://mevius.5ch.net/test/read.cgi/tech/1745631298/418
419: デフォルトの名無しさん (ワッチョイ 1279-T1jw) [] 2025/06/21(土) 01:51:51.86 ID:bIqfBqmB0 キミは色々と勘違いをしているからこの手の話をしたいならもうちょい勉強しよう aが何だろうがa*100/5をa*20とはそもそも出来ないし、2.も同様 3.もaの値によっては演算の前後で値がおなじケースがある 色々あるのでいちいち書かなかったが、例えばaが10の倍数の時、aの絶対値が9以下の時、またaが列挙型だったり配列の添字だったりする時は挙動が推測出来るケースも出てくる 他にも最適化で実行時の演算をしなくてすむケースがある 演算をしなくてもaの
値を変えることは出来うるし、その場合除算の代わりにいくつかの分岐や直値に変わるだろう http://mevius.5ch.net/test/read.cgi/tech/1745631298/419
420: デフォルトの名無しさん (JP 0H46-E6Ax) [] 2025/06/21(土) 02:46:24.26 ID:myS4seE9H また空気読めない書き込みする。ずっと議論 が続いているけど興味ない。 そもそも実数データを表現するbit数が有限 なんだけど(doubleで8byte=64bit)、そりゃあ 場合によっては結果が違うが、実数の場合は それほど問題じゃない。誤差の範囲内。 整数演算の方が問題。 i=32767/10000*10000の演算やったらどう なるか?これはコンパイラの最適化の問題 じゃなくてプログラムする人が気をつける べきことだと思う。というか、変な最適化 はしない方がいいと
思う。最適化しなくても 現在のコンピュータ能力じゃあ大して時間差 は問題にならん。 それよりも行列演算でNRVOを実装してほしい。 gccの一部では実装されているみたいだけど。 http://mevius.5ch.net/test/read.cgi/tech/1745631298/420
421: デフォルトの名無しさん (JP 0H46-E6Ax) [] 2025/06/21(土) 02:49:22.52 ID:myS4seE9H あ、言い忘れた。演算子のオーバーロードでの話ね。 http://mevius.5ch.net/test/read.cgi/tech/1745631298/421
422: デフォルトの名無しさん (ワッチョイ 01de-Ni2x) [sage] 2025/06/21(土) 06:20:55.55 ID:mM+iEPSf0 >>413 0除算は未定義動作だから、(0除算については)最適化されてエラーが出なくてもC++規格通りかね。 http://mevius.5ch.net/test/read.cgi/tech/1745631298/422
423: デフォルトの名無しさん (JP 0H46-E6Ax) [] 2025/06/21(土) 08:07:57.88 ID:myS4seE9H 浮動小数点演算で問題になるのは情報落ち(桁落ち)。 expを指数関数としてexp(x)+exp(-x)でxの絶対値が 大きくなるとどうなるか?4倍精度演算が標準として ほしい。fortranには昔からある。たしか南米の人が C++で4倍精度演算ライブラリ作ってた気がする。 http://mevius.5ch.net/test/read.cgi/tech/1745631298/423
424: デフォルトの名無しさん (JP 0H46-E6Ax) [] 2025/06/21(土) 08:14:50.36 ID:myS4seE9H ところで、前から気になってたけど何でワイだけ ワッチョイ出ないんだろ。メール設定ミス?それとも プロバイダの問題?目立つから困る。 http://mevius.5ch.net/test/read.cgi/tech/1745631298/424
425: デフォルトの名無しさん (ワッチョイ 71a6-Y+Ow) [sage] 2025/06/21(土) 09:45:45.70 ID:cFB8HkI30 signedのオーバーフローは未定義だがunsignedのオーバーフローは定義されてる あとC/C++はfenvで浮動小数点コプロセッサのモードを切り替えられるから、それを使うつもりのコードはコンパイル時に計算されると狂ったりはする http://mevius.5ch.net/test/read.cgi/tech/1745631298/425
426: デフォルトの名無しさん (アウアウウー Sacd-xHx3) [sage] 2025/06/21(土) 11:27:06.14 ID:fGhLJfIJa >>424 ワッチョイと同じ役割を持つ名前一覧 1) オイコラミネオ 2) ササクッテロ 3) オッペケ 4) エムゾネ 5) スプー・スプッ JPは知らん http://mevius.5ch.net/test/read.cgi/tech/1745631298/426
427: デフォルトの名無しさん (オイコラミネオ MMdd-Rgxs) [sage] 2025/06/21(土) 11:46:04.84 ID:pKk6RtsPM >>419 あなたは馬鹿。 数学的センスが無いので、勉強しても直らないだろう。 http://mevius.5ch.net/test/read.cgi/tech/1745631298/427
428: デフォルトの名無しさん (JP 0H46-E6Ax) [] 2025/06/21(土) 12:00:57.87 ID:myS4seE9H >>426 レスありがとう。プロバイダが関係してるのかな http://mevius.5ch.net/test/read.cgi/tech/1745631298/428
429: デフォルトの名無しさん (アウアウウー Sacd-dpHj) [] 2025/06/21(土) 13:55:21.38 ID:xPq+xj/ja >>424 VPNでも使ってるんだろ http://mevius.5ch.net/test/read.cgi/tech/1745631298/429
430: デフォルトの名無しさん (JP 0H46-E6Ax) [] 2025/06/21(土) 14:01:54.99 ID:myS4seE9H VPNオンだと5chが書き込み拒否する。まあ、いいか。 http://mevius.5ch.net/test/read.cgi/tech/1745631298/430
431: デフォルトの名無しさん (ワッチョイ 6e59-dswa) [sage] 2025/06/21(土) 15:02:17.15 ID:S2983oYI0 >>424 出てるじゃん JPって 大方逆引き不可なホストだろうからプロバイダの問題ではある マイナーすぎて細かく設定してないだけかも知れないけど http://mevius.5ch.net/test/read.cgi/tech/1745631298/431
432: デフォルトの名無しさん (JP 0H46-E6Ax) [] 2025/06/21(土) 15:34:31.30 ID:myS4seE9H >>431 レスありがとうございます。本スレの趣旨に合わないので 以後の返事は控えさせていただきます。 http://mevius.5ch.net/test/read.cgi/tech/1745631298/432
433: デフォルトの名無しさん (オイコラミネオ MMc6-Rgxs) [sage] 2025/06/21(土) 16:15:28.70 ID:kXnmGuVNM 先の話題について、コンピュータではなく数学の世界まで振り返って考えてみると、 (1) a が実数の時 a * 100 / 100 = a は恒等的に成り立つ。だからこの最適化は、精度を無視すれば していい可能性が高い。 (2) a が整数で、整数としての割り算で考える場合、 a * 100 / 100 = a は、一般的には成り立たない。 だから、a * 100 / 100 を a と最適化することはそもそも出来ない。 http://mevius.5ch.net/test/read.cgi/tech/1745631298/433
434: デフォルトの名無しさん (オイコラミネオ MMc6-Rgxs) [sage] 2025/06/21(土) 16:16:35.17 ID:kXnmGuVNM >>433 重大な訂正。 (2)は正しくはこう : (a / 100) * 100 = a は、一般的には成り立たない。 だから、(a /100) * 100 を a と最適化することはそもそも出来ない。 http://mevius.5ch.net/test/read.cgi/tech/1745631298/434
435: デフォルトの名無しさん (ワッチョイ b295-m2eM) [] 2025/06/21(土) 16:40:28.18 ID:Kar31VLO0 分かったからもういいって 対人論証するようなのの意見は誰も聞かんよ http://mevius.5ch.net/test/read.cgi/tech/1745631298/435
436: デフォルトの名無しさん (ワッチョイ 6ef5-QhKk) [] 2025/06/21(土) 17:52:28.47 ID:YF3X9a/V0 そりゃタダのコンパイラならかっこ付き計算の仕様に合わせて最適化しかできない でもそれがAIがやるようになると、トータルで何やってるか把握して最適化するようになるから 無駄な計算は省かれるだろう http://mevius.5ch.net/test/read.cgi/tech/1745631298/436
437: デフォルトの名無しさん (ワッチョイ 92f0-xkro) [sage] 2025/06/21(土) 18:30:14.39 ID:wcVxTOdx0 マジックナンバーだらけになりそうだな http://mevius.5ch.net/test/read.cgi/tech/1745631298/437
438: デフォルトの名無しさん (ワッチョイ 5e10-cspE) [sage] 2025/06/21(土) 18:49:30.35 ID:9yAQ73mO0 日によって最適化の結果が変わりそうだな http://mevius.5ch.net/test/read.cgi/tech/1745631298/438
439: デフォルトの名無しさん (オイコラミネオ MMc6-Rgxs) [sage] 2025/06/21(土) 19:00:56.65 ID:kXnmGuVNM 浮動小数点数を「実数」と見た時に 『数学的な恒等式』ならば、最適化していい という価値観は有るはずだ。 実際には、実数は無限精度であるのに対し、浮動小数点数は 有限精度であるから、実数では恒等式であっても、 浮動小数点数では恒等式ではないので、最適化すると結果が 少し変わってしまうことはありえる。 http://mevius.5ch.net/test/read.cgi/tech/1745631298/439
440: デフォルトの名無しさん (ワッチョイ f57c-EPY7) [sage] 2025/06/21(土) 20:42:47.18 ID:ea0qUnOa0 そんなのはまともなコンパイラはみんな分かってて-ffast-mathとかでやるかやらないか選べるけどそれが何? http://mevius.5ch.net/test/read.cgi/tech/1745631298/440
441: デフォルトの名無しさん (JP 0H46-E6Ax) [] 2025/06/21(土) 21:24:08.46 ID:myS4seE9H すみません。次のコードで .5e のところの精度(少数部桁数)5 を変数precで設定したいんですけど、さっきからコンパイラに 駄目だし食らって遊ばれとります。わかる人いますか? #include <iostream> #include <cmath> #include <format> int main() { using namespace std; double x, y, dx=0.5; unsigned prec =4; for (int i = 0; i < 20; ++i) { x = i * dx; y = sin(x); cout << format("{: .5e} {: .5e}", x,
y) << endl; } cin.get(); return 0; } http://mevius.5ch.net/test/read.cgi/tech/1745631298/441
442: デフォルトの名無しさん (JP 0H46-E6Ax) [] 2025/06/21(土) 21:35:25.24 ID:myS4seE9H cout << format("{0: .{2}e} {1: .{2}e}", x, y, prec) << endl; で解決しました。 http://mevius.5ch.net/test/read.cgi/tech/1745631298/442
443: デフォルトの名無しさん (オイコラミネオ MMdd-Rgxs) [sage] 2025/06/21(土) 22:20:34.53 ID:07kyc98IM >>440 https://kristerw.github.io/2021/10/19/fast-math/ ここには、「-fassociative-math」が今回の例に近いようだが、 同じものは載ってないと思うが。 以下は、近いが、今回のものとはまた違う : (C1 / X) * C2 ↓ (C1 * C2) / X http://mevius.5ch.net/test/read.cgi/tech/1745631298/443
444: デフォルトの名無しさん (ワッチョイ c54b-jK4x) [] 2025/06/22(日) 12:29:48.51 ID:4aXQSYOG0 ・人間の思考「脳波」は頭蓋骨の外に漏れない 人間の脳は発光していた!「脳が放つ光」の観測に初成功 2025.06.19 12:00:38 THURSDAY https://nazology.kusuguru.co.jp/archives/179808 >>カナダ・アルゴマ大学(Algoma University)の最新研究で、ついにこの「脳の光」を頭蓋骨の外から観測することに成功したのです。 >>UPEは細胞の代謝活動、特に酸化反応によって発生する副産物の一種です。 >>以来、UPEはあらゆる植物や動物の細胞
からも確認されており、生体内の酸化ストレスや老化、さらにはがんの診断補助にも応用が期待されてきました。 >>脳は体の中で最も代謝が活発な臓器のひとつであり、神経活動に伴って活性酸素が多く発生します。 >>チームは今回、20人の健康な成人を対象に、特殊な装置を用いた実験を実施しました。 >>被験者は真っ暗な部屋に座り、頭には脳波計を装着。 >>その周囲には、光電子増倍管(PMT)と呼ばれる極微弱な光を検出する装置が配置されました。 >>そして被験者には、目を開ける/閉じる、あるいは音楽(120BPM)を聴
くといったシンプルなタスクを行ってもらい、その間のUPEと脳波の変化を同時に測定したのです。 ☆>>まず、脳からのUPEは背景光(周囲の空気中のノイズ)とは明確に異なる変動パターンを持つことが判明したのです。 >>とくに後頭部(視覚野)と側頭部(聴覚野)から検出された光は、安静時でも一定のリズムと変動性を示し、他の部位とは異なるスペクトル的特徴を持っていました。 >>さらに目を閉じたときに増える「アルファ波」と呼ばれる脳波の活動と、UPEの強さが同期していることも発見されました。 >>これはつまり、脳の
電気的な信号(脳波)と、化学的な代謝反応(UPE)が連動していることを意味します。 >>この成果は、従来のfMRIやPETスキャンのような「重装備で高コスト」な装置を使わずとも、非侵襲・低刺激で脳機能の状態を“光”から読み取る可能性を示すものです。 >>研究者たちはこの新しい手法を「光脳波記録(photoencephalography)」と名付けました。 http://mevius.5ch.net/test/read.cgi/tech/1745631298/444
445: デフォルトの名無しさん (ワッチョイ 23f0-WswN) [sage] 2025/06/22(日) 12:39:57.32 ID:gKjr8htc0 光コンピューティングやないかい http://mevius.5ch.net/test/read.cgi/tech/1745631298/445
446: デフォルトの名無しさん (ワッチョイ d5d6-WswN) [sage] 2025/06/22(日) 17:00:05.82 ID:CnBC1yms0 光というのは電磁波だったと思うが。 http://mevius.5ch.net/test/read.cgi/tech/1745631298/446
447: デフォルトの名無しさん (ワッチョイ 3575-mUa+) [] 2025/06/22(日) 17:03:00.89 ID:ZWGsAnaU0 ニュータイプ近づいたな http://mevius.5ch.net/test/read.cgi/tech/1745631298/447
448: デフォルトの名無しさん (スプープ Sd43-WIQI) [sage] 2025/06/22(日) 18:48:20.68 ID:/yOBM7d0d スレ違い。 http://mevius.5ch.net/test/read.cgi/tech/1745631298/448
449: デフォルトの名無しさん (オイコラミネオ MMab-Hs71) [sage] 2025/06/22(日) 19:08:02.78 ID:x4CLaAtVM >>444 みたいな書き込み、完全にスレチ このスレのみならず、板自体が壊れてしまう。 http://mevius.5ch.net/test/read.cgi/tech/1745631298/449
450: デフォルトの名無しさん (ワッチョイ 6501-AU/s) [sage] 2025/06/23(月) 01:01:04.29 ID:Gvg9upbV0 http://hissi.org/read.php/tech/20250622/NGFYUVNZT0cw.html 毎回こことPythonスレだけ荒らしてるアホ http://mevius.5ch.net/test/read.cgi/tech/1745631298/450
451: デフォルトの名無しさん (ワッチョイ 7dbb-uyNB) [sage] 2025/06/23(月) 01:12:15.09 ID:Btl+IikW0 統失の間でもPythonとC++は認知されてるってことでしょ 名誉ですなぁ http://mevius.5ch.net/test/read.cgi/tech/1745631298/451
452: デフォルトの名無しさん (ワッチョイ d5d6-WswN) [sage] 2025/06/23(月) 14:29:01.81 ID:zsxUyp330 C++でpythonのライブラリを作るのが気持ちいいかなみたいな。 ん? 普通はpythonのライブラリって何で書かれているんだろう。 http://mevius.5ch.net/test/read.cgi/tech/1745631298/452
453: デフォルトの名無しさん (オイコラミネオ MM89-Hs71) [sage] 2025/06/23(月) 16:02:13.08 ID:n3O4Zcz+M >>450 Rustスレにも投稿されてたで。 http://mevius.5ch.net/test/read.cgi/tech/1745631298/453
454: デフォルトの名無しさん (アウアウウー Sa69-G7Nc) [sage] 2025/06/24(火) 09:31:18.32 ID:17zM306Da pythonのモジュールはpythonでも描けるが もちろんCでも描けるしC++でも描ける 最近はRustで描くのが楽で良い http://mevius.5ch.net/test/read.cgi/tech/1745631298/454
455: デフォルトの名無しさん (JP 0Hab-E2BB) [] 2025/06/24(火) 17:31:46.42 ID:Sa2uRHN0H Rustは良い言語かもしれんが、自分には 必要ない。 http://mevius.5ch.net/test/read.cgi/tech/1745631298/455
456: デフォルトの名無しさん (オイコラミネオ MM89-Hs71) [sage] 2025/06/24(火) 18:59:56.02 ID:FRc1H2/gM >>455 同意 http://mevius.5ch.net/test/read.cgi/tech/1745631298/456
457: デフォルトの名無しさん (ワッチョイ 2302-ES++) [sage] 2025/06/24(火) 19:19:29.25 ID:8wBejQ5/0 >>454 なんで、AIはPythonで書かれるんだろうな 謎だな… http://mevius.5ch.net/test/read.cgi/tech/1745631298/457
458: デフォルトの名無しさん (ワッチョイ 2338-QARi) [sage] 2025/06/24(火) 19:22:51.87 ID:hfqdv+Ay0 Rustに静的ダックタイプ入ったら使うかどうか考える。 設計をカッチリできるプロジェクトでもなければRustはキツくない? c++もコンセプト制約変数とか入らんかな。 変数レベルで静的ダックタイプにして、クラス継承は無くしたい。 http://mevius.5ch.net/test/read.cgi/tech/1745631298/458
459: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 8d32-ukKJ) [sage] 2025/06/24(火) 19:44:21.82 ID:s2rFPvAe0 C++26 にはリフレクションがようやく入る見込みで、これを使えばダックタイピングのような仕組みをライブラリで実現できる。 http://mevius.5ch.net/test/read.cgi/tech/1745631298/459
460: デフォルトの名無しさん (ワッチョイ 55ea-mGXm) [sage] 2025/06/24(火) 20:15:46.49 ID:S1fYPTVc0 >>457 モジュールを書く人とAIを書く人が別だからじゃろ http://mevius.5ch.net/test/read.cgi/tech/1745631298/460
461: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 8d32-ukKJ) [sage] 2025/06/24(火) 20:45:25.03 ID:s2rFPvAe0 AI の専門家がプログラミングの専門家というわけでもないしな。 http://mevius.5ch.net/test/read.cgi/tech/1745631298/461
462: デフォルトの名無しさん (ワッチョイ 2302-ES++) [sage] 2025/06/24(火) 20:49:18.38 ID:8wBejQ5/0 >>460 というと? http://mevius.5ch.net/test/read.cgi/tech/1745631298/462
463: デフォルトの名無しさん (オイコラミネオ MM89-Hs71) [sage] 2025/06/26(木) 02:55:12.43 ID:v8FRsUWIM NSCがC++を廃してRustを推しているのは、中国のUnrealEngineへの牽制か? http://mevius.5ch.net/test/read.cgi/tech/1745631298/463
464: デフォルトの名無しさん (オイコラミネオ MM89-Hs71) [sage] 2025/06/26(木) 02:59:40.78 ID:v8FRsUWIM NSA だ。 http://mevius.5ch.net/test/read.cgi/tech/1745631298/464
465: デフォルトの名無しさん (ワッチョイ 2302-ES++) [sage] 2025/06/26(木) 03:19:10.72 ID:P3qvmtvK0 >>463 unreal engineって、 中国が株主でしょ http://mevius.5ch.net/test/read.cgi/tech/1745631298/465
466: デフォルトの名無しさん (ササクッテロリ Sp81-AU/s) [sage] 2025/06/26(木) 07:43:46.78 ID:NfgrBwV2p UEはアメリカのゲーム企業が作ったものなんだが・・ http://mevius.5ch.net/test/read.cgi/tech/1745631298/466
467: デフォルトの名無しさん (オイコラミネオ MM89-HeZH) [sage] 2025/06/26(木) 12:38:45.11 ID:deRGahNkM スマン。中国が作ったものだとばかり思っていた。 http://mevius.5ch.net/test/read.cgi/tech/1745631298/467
468: デフォルトの名無しさん (ワッチョイ 23f0-WswN) [sage] 2025/06/26(木) 12:41:11.49 ID:3UJQKTFB0 ったく、こりだからよお http://mevius.5ch.net/test/read.cgi/tech/1745631298/468
469: デフォルトの名無しさん (ワッチョイ 23b7-S6wV) [] 2025/06/26(木) 17:13:34.04 ID:zdpAcYpu0 悪意のあるVSCode拡張機能を検出できる「VSCan」 https://gigazine.net/news/20250625-vscan/ ※上記の 本体プログラミング改造で改造コードを仕込む場所や攻撃ポイントを割り出せる ※上記と下記のプログラムでエラーコードをメモリー^上に無いかを調べて別のプログラムを走らせるとエラーコードから親友できるかが割り出せる などいろいろと使用可能 AIを活用した完全自律型の侵入テストツール「XBOW」がHackerOneのランキングでついに人間を抜いて1
位に https://gigazine.net/news/20250625-hackerone-xbow/ 上記のプログラムと電波障害などで生じたエラーなどでで無理やりセキュリティーほーホールを見つけれる http://mevius.5ch.net/test/read.cgi/tech/1745631298/469
470: デフォルトの名無しさん (ワッチョイ 3580-mGXm) [sage] 2025/06/26(木) 17:16:52.94 ID:jAlq/lgY0 まず自分の書き込みにAI活用しろよって思った http://mevius.5ch.net/test/read.cgi/tech/1745631298/470
471: デフォルトの名無しさん (JP 0Hab-pT1b) [] 2025/06/26(木) 18:27:21.16 ID:o/InY5NNH 藁 http://mevius.5ch.net/test/read.cgi/tech/1745631298/471
472: デフォルトの名無しさん (ワッチョイ 23b7-S6wV) [] 2025/06/26(木) 21:29:08.64 ID:zdpAcYpu0 AndroidスマホでもiPhoneでもAIモデルをローカルで実行してチャットできる無料アプリ「Cactus Chat」レビュー https://gigazine.net/news/20250626-cactus-chat-android-ios-ai-local/ インターネット接続不要でAIモデルをローカル実行できる「LM Studio」にMCPサーバーへの接続機能が追加される https://gigazine.net/news/20250626-lmstudio-mcp/ 上記のAIとマクロ機能を使用すればAIのみで会話できるようになる ボイス・トォ・スカル「神や幽霊」の
声はこれで行っているのか? マクロ機能の拡張でインターネットにも自動で書き込みが可能になる http://mevius.5ch.net/test/read.cgi/tech/1745631298/472
473: デフォルトの名無しさん (スプープ Sd43-WIQI) [sage] 2025/06/26(木) 22:43:52.27 ID:CNaMzIfEd スレ違い。 http://mevius.5ch.net/test/read.cgi/tech/1745631298/473
474: デフォルトの名無しさん (JP 0Hab-pT1b) [] 2025/06/28(土) 01:04:10.64 ID:ILdMmS8aH gcc4.6から4倍精度入ってるみたいですねえ。 Visual C++では入っているかな。調べてみます。 http://mevius.5ch.net/test/read.cgi/tech/1745631298/474
475: デフォルトの名無しさん (ワッチョイ 55a6-WIQI) [sage] 2025/06/28(土) 01:17:47.38 ID:Ewd2t68S0 fortranで使うからね gccはバックエンドから対応する必要がある機能を他フロントエンドのために入れるときはほぼC言語にも拡張として入れてくる http://mevius.5ch.net/test/read.cgi/tech/1745631298/475
476: デフォルトの名無しさん (ワッチョイ d5d6-WswN) [sage] 2025/06/28(土) 07:36:59.43 ID:7fEtq2hP0 新たなクラスを作ってまえばいいのではないでしょうか。 http://mevius.5ch.net/test/read.cgi/tech/1745631298/476
477: デフォルトの名無しさん (JP 0Hab-pT1b) [] 2025/06/28(土) 10:51:00.28 ID:ILdMmS8aH C++23からfloat128_tがサポート予定だけど まだ詳細は決まってなさそう VS2022ではまだみたい。gccも13.0以降? http://mevius.5ch.net/test/read.cgi/tech/1745631298/477
478: デフォルトの名無しさん (ワッチョイ 9bc2-SN7F) [] 2025/06/28(土) 15:20:29.63 ID:CPXhvy7f0 >>477 MSのサポート掲示板だかコミュニティBBSだでVSは128_tやる気なし(一応要望は受け付けるけど)、みたいなの読んだ気がする。 http://mevius.5ch.net/test/read.cgi/tech/1745631298/478
479: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 8d32-RyDx) [sage] 2025/06/28(土) 15:55:10.80 ID:mCCHdrx+0 C++23 では「そのような型があるなら std::float128_t として提供されることもある」というオプショナルなもので、あまりあてにならない。 https://timsong-cpp.github.io/cppwp/n4950/basic.extended.fp#4 ハードウェアとかツールチェインとかの都合もあるだろうし。 http://mevius.5ch.net/test/read.cgi/tech/1745631298/479
480: デフォルトの名無しさん (JP 0Hab-pT1b) [] 2025/06/28(土) 16:00:47.16 ID:ILdMmS8aH うーむ。残念 http://mevius.5ch.net/test/read.cgi/tech/1745631298/480
481: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 8d32-RyDx) [sage] 2025/06/28(土) 16:13:42.13 ID:mCCHdrx+0 std::float128_t が提供されるときは拡張浮動小数点型 (extended floating-point type) でなけりゃならないみたいだからクラスとして定義できない。 http://mevius.5ch.net/test/read.cgi/tech/1745631298/481
482: デフォルトの名無しさん (ワッチョイ 8d7c-BujW) [sage] 2025/06/28(土) 16:59:30.25 ID:VJLy78nc0 float128_tがあってもFLT_MAXは64ビットという闇 http://mevius.5ch.net/test/read.cgi/tech/1745631298/482
483: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 8d32-RyDx) [sage] 2025/06/28(土) 18:19:57.03 ID:mCCHdrx+0 >>482 ??? float128_t と FLT_MAX にどのような関係があるのか意味が分からない。 http://mevius.5ch.net/test/read.cgi/tech/1745631298/483
484: デフォルトの名無しさん (ワッチョイ 23f0-WswN) [sage] 2025/06/28(土) 18:26:24.23 ID:uZW6Klue0 float 4バイトだろ 32ビットだぞ http://mevius.5ch.net/test/read.cgi/tech/1745631298/484
485: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 8d32-ukKJ) [sage] 2025/06/28(土) 19:30:31.51 ID:mCCHdrx+0 float が 4 バイトなのに 8 バイト相当な値が FLT_MAX として定義されている (言語仕様に準拠していない) 環境があるという意味? http://mevius.5ch.net/test/read.cgi/tech/1745631298/485
486: デフォルトの名無しさん (ワッチョイ 55a6-WIQI) [sage] 2025/06/28(土) 19:40:49.68 ID:Ewd2t68S0 最大の浮動小数点型を表す定数のどれかと間違えたんでしょ __int128があってもintmax_tが64ビットのままみたいな話のfloat版のつもりだったと思う http://mevius.5ch.net/test/read.cgi/tech/1745631298/486
487: デフォルトの名無しさん (JP 0H8e-mQSl) [] 2025/06/29(日) 08:57:18.64 ID:9LYz8h1TH インターネットからファイルをダウンロードするのに、現在のc界隈ではどんなライブラリを使用してるの? vc2010あたりなら、標準で使えていたけど今でも使えるのかしら? http://mevius.5ch.net/test/read.cgi/tech/1745631298/487
488: デフォルトの名無しさん (ワッチョイ 06a1-6mIp) [sage] 2025/06/29(日) 10:59:10.19 ID:zQA4sk9y0 ちょっ質問なのですが class Fooの中で構造体型PrivateStructがprivateな型として定義されており、 PrivateStruct型のFooのprivateなメンバFoo::m_stもある状況に対し、 Fooの外でauto&でもってPrivateStructの型を使用できて、 あまつさえFoo::m_stの値を読んだり書いたりできたりしてカプセル化神話が崩壊したんだけど これっておま環? (コード) https://ideone.com/slBA72 http://mevius.5ch.net/test/read.cgi/tech/1745631298/488
489: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 7b32-T+w5) [sage] 2025/06/29(日) 12:56:56.18 ID:RnCZLFSE0 >>487 Windows が前提なら WinINet を使うのが素直なやり方だと思う。 規格の多少の更新などがあっても OS の側で対処してくれるからアプリケーションはリビルドする必要すらなく長期的に使えることが期待できる。 マルチプラットフォームを考えるなら Curl が楽かなぁ……。 http://mevius.5ch.net/test/read.cgi/tech/1745631298/489
490: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 7b32-T+w5) [sage] 2025/06/29(日) 13:04:25.17 ID:RnCZLFSE0 >>488 アクセス指定は識別子の可視性であって、間接的なアクセスも含めた一切の利用を禁止するわけではないよ。 http://mevius.5ch.net/test/read.cgi/tech/1745631298/490
491: デフォルトの名無しさん (ワッチョイ 06a1-6mIp) [sage] 2025/06/29(日) 13:14:06.51 ID:zQA4sk9y0 上のコードの >auto& st = x.refStruct(); // stはFooのprivateな型だがビルドが通る。 が識別子PrivateStructの可視性を無視してくれる理由がわからんぬ…… これ >PrivateStruct& st = x.refStruct(); と書いたら型の名前PrivateStructの可視性がprivateなのでもちろんエラーになる http://mevius.5ch.net/test/read.cgi/tech/1745631298/491
492: デフォルトの名無しさん (ワッチョイ 06a1-6mIp) [sage] 2025/06/29(日) 13:18:58.11 ID:zQA4sk9y0 訂正orz ×: >PrivateStruct& st = x.refStruct(); ○: >Foo::PrivateStruct& st = x.refStruct(); http://mevius.5ch.net/test/read.cgi/tech/1745631298/492
493: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 7b32-T+w5) [sage] 2025/06/29(日) 13:37:38.54 ID:RnCZLFSE0 >>491 > 識別子PrivateStructの可視性を無視してくれる理由 識別子 PrivateStruct を使っていないから。 この場合は x.refStruct() という式から型を推論するので型名 (であるような識別子) の可視性は関係ない。 プライベートなデータメンバ m_st だってその参照を外へ持ち出してるだろ。 外で m_st という名前でアクセスできないが m_st に対応するオブジェクトへのアクセスは (アクセス経路があるなら) アクセス指定に左右されない
。 同様に、プライベートに定義した型を型名ではアクセスできないが型を使えないわけではない。 http://mevius.5ch.net/test/read.cgi/tech/1745631298/493
494: デフォルトの名無しさん (ワッチョイ 06a1-6mIp) [sage] 2025/06/29(日) 13:59:10.64 ID:zQA4sk9y0 >識別子 PrivateStruct を使っていないから。 >この場合は x.refStruct() という式から型を推論するので型名 (であるような識別子) の可視性は関係ない。 なんで? 不完全な型の参照はエラーになるのだから コンパイラは型推論の際Foo::PrivateStructという完全な型の情報まで突き止めているはず…… なんでFoo::PrivateStructの可視性を無視してくれるのや…… 無視せずエラーにする言語仕様もあり得たはず ていうかエラーにならないのがおま
環でない証拠がいまのところ無い…… http://mevius.5ch.net/test/read.cgi/tech/1745631298/494
495: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 7b32-T+w5) [sage] 2025/06/29(日) 14:09:12.19 ID:RnCZLFSE0 >>494 名前に対する使用制限である旨がはっきりと書いてある。 https://timsong-cpp.github.io/cppwp/n3337/class.access#1.1 http://mevius.5ch.net/test/read.cgi/tech/1745631298/495
496: デフォルトの名無しさん (ワッチョイ 42dd-95xj) [sage] 2025/06/29(日) 15:12:39.04 ID:FAAHlPSo0 >>494 でもFoo::PrivateStructを指すpublicなtype aliasがあったらやっぱりエラーにしないで! とか言ってきたらはっ倒すぞって感じの言語仕様やなあ http://mevius.5ch.net/test/read.cgi/tech/1745631298/496
497: デフォルトの名無しさん (ワッチョイ d7ad-DFSU) [sage] 2025/06/29(日) 15:29:55.25 ID:PWOccKtm0 プライベートメンバーの参照を返す関数を public でアクセスできる設計の方が驚き http://mevius.5ch.net/test/read.cgi/tech/1745631298/497
498: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 7b32-0lSL) [sage] 2025/06/29(日) 15:52:20.20 ID:RnCZLFSE0 >>497 これ単体で見るとおかしいがプロキシパターンなどでそういう構成になることはある。 http://mevius.5ch.net/test/read.cgi/tech/1745631298/498
499: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 7b32-0lSL) [sage] 2025/06/29(日) 16:51:17.70 ID:RnCZLFSE0 すまん。プロクシパターンではないな。 見当違いなことを書いてた。 まあこの場合は言語機能の確認のサンプルだと思うから設計がどうこうはあまり気にしなくていいんじゃね。 http://mevius.5ch.net/test/read.cgi/tech/1745631298/499
500: デフォルトの名無しさん (アウアウウー Sabb-BfA2) [sage] 2025/06/29(日) 19:25:35.84 ID:TdQ2JxNKa たしかに直感的には auto で private な型を推論してしまうのはヤバくね?という感覚になってしまうが 続くレスで指摘されてるとおり private な識別子だからといって外に持ち出せないわけではないので(それを禁止するほうが弊害が大きい) そういうもんだと思ってプログラマが注意するしかないな 元々 C++ はやり方次第で言語仕様の本来の目的を外れたヤバい方法がいくらでもつかえる言語であり どんな場面でも常にプログラマは注意を払うべきなので
、そういう C++ の"性格"がこの場面でも出たというところか こういうのがどうしても気になり完全な"性格"の言語が欲しいなら、他の言語にいったほうがよい http://mevius.5ch.net/test/read.cgi/tech/1745631298/500
501: デフォルトの名無しさん (オイコラミネオ MM6b-fGW2) [sage] 2025/06/29(日) 19:47:06.28 ID:ivfL45vHM >>489 libcurl でいいと思う。便利だし。 curlコマンドと同じように使えるはずだし。 http://mevius.5ch.net/test/read.cgi/tech/1745631298/501
502: デフォルトの名無しさん (ワッチョイ 8e1a-9Qg/) [sage] 2025/06/30(月) 19:44:03.19 ID:etdu4EFd0 長い名前空間の扱いの質問なのですが、 例えばA::B::C::DみたいなクラスD内でP::Q::R::SのようなクラスSを使用していて ヘッダーファイルが namespace A::B::C { public class D { void foo(P::Q::R::S& s); }; } みたいな感じになるのですが、実際にはこのP::Q::R::Sが非常に長く正直見苦しいです かといってusingをヘッダー内で使うのは良くないですよね? こういう場合にP::Q::R::Sの部分を簡潔な表記にする方法はありますでしょうか http://mev
ius.5ch.net/test/read.cgi/tech/1745631298/502
503: デフォルトの名無しさん (ワッチョイ e794-iZCu) [sage] 2025/06/30(月) 20:47:28.37 ID:CUK0Fuvn0 namespace pqrs = P::Q::R::S でいいんじゃない? http://mevius.5ch.net/test/read.cgi/tech/1745631298/503
504: デフォルトの名無しさん (ワッチョイ 7b7c-9nZq) [sage] 2025/07/01(火) 21:41:31.12 ID:W7Fp4vWi0 Sしか使わないならusing P::Q::R::S; http://mevius.5ch.net/test/read.cgi/tech/1745631298/504
505: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 7b32-0lSL) [sage] 2025/07/01(火) 22:22:06.69 ID:kHEih0Y20 >>504 using P::Q::R::S; したらもしも using namespace A::B::C; したときに P::Q::R::S も探索対象になってしまう。 使う側に余計な影響を与えないようにするには別名をつけるほうがより良い。 http://mevius.5ch.net/test/read.cgi/tech/1745631298/505
506: デフォルトの名無しさん (ワッチョイ 3641-ctb7) [] 2025/07/03(木) 00:24:37.09 ID:ye5zZInN0 エンベデッド分野は今でもC/C++が主流なの? AIに任せられない分野だから生きのこれそうで気になっておりまする http://mevius.5ch.net/test/read.cgi/tech/1745631298/506
507: デフォルトの名無しさん (アウアウウー Sabb-H9/A) [sage] 2025/07/03(木) 09:26:35.93 ID:q23h/8z8a 良いんじゃね http://mevius.5ch.net/test/read.cgi/tech/1745631298/507
508: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 4730-0lSL) [sage] 2025/07/03(木) 11:06:49.67 ID:4Hn86Ej50 >>506 組み込みシステムも多様なので性質や規模によるでしょ。 リアルタイム性が重要なところでは C/C++ は主流のままだと思うけど、プロジェクト全体が C/C++ だけで構成されることは少なくなるんじゃない? http://mevius.5ch.net/test/read.cgi/tech/1745631298/508
509: デフォルトの名無しさん (ワッチョイ 420e-vr7j) [] 2025/07/03(木) 11:57:31.86 ID:0Ka09OV10 リアルタイム性はOSがやることだし 言語関係ないよ http://mevius.5ch.net/test/read.cgi/tech/1745631298/509
510: デフォルトの名無しさん (ワッチョイ e79a-0q56) [] 2025/07/03(木) 12:22:21.27 ID:dQk6sKVB0 Javaや.NETはGCでストップ・ザ・ワールドが発生するからリアルタイムに弱いらしい 最近は目標停止時間を1ms以下に抑えるGCもあるけど、あくまでも目標であって保証ではないからね http://mevius.5ch.net/test/read.cgi/tech/1745631298/510
511: デフォルトの名無しさん (ワッチョイ 4e5f-nkZs) [sage] 2025/07/03(木) 15:27:43.14 ID:d0nwmVKl0 >>509 イベントスレッドでIOされてもOSがなんとかすると思ってんの? http://mevius.5ch.net/test/read.cgi/tech/1745631298/511
512: デフォルトの名無しさん (アウアウウー Sabb-H9/A) [] 2025/07/04(金) 08:50:43.54 ID:fF3rQ1JLa 組み込み リアルタイムOS これほど曖昧な言い回しは他に無い http://mevius.5ch.net/test/read.cgi/tech/1745631298/512
513: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 7b32-0lSL) [sage] 2025/07/04(金) 10:17:03.12 ID:wZ441BSd0 >>509 リアルタイム性が重要なところというのはまさにそのリアルタイム OS のことで、それらを書くのに C/C++ が主流という話なんやで。 そんで既存の OS を使う場合でも次にアプリケーションを用意すれば動くというわけではなくて、組み込みシステムなら大抵の場合にデバイスドライバも書かなければいけないし、 OS が面倒みてくれる範囲は小さい。 低レイヤの整備がすでに整っている状況ならアプリケーションはもうちょっと言語の選択肢
はあるかもね。 http://mevius.5ch.net/test/read.cgi/tech/1745631298/513
514: デフォルトの名無しさん (ワッチョイ a332-vr7j) [] 2025/07/04(金) 10:58:10.60 ID:8a61AjkK0 リアルタイムOSでないOSで、リアルタイム性重視ならそうだが リアルタイムOSで作るなら言語は何でもいい http://mevius.5ch.net/test/read.cgi/tech/1745631298/514
515: デフォルトの名無しさん (ワッチョイ a332-vr7j) [] 2025/07/04(金) 10:59:28.16 ID:8a61AjkK0 例えば24時間365日止まってはいけない産業用制御なんて C++でも何でもない http://mevius.5ch.net/test/read.cgi/tech/1745631298/515
516: デフォルトの名無しさん (ワッチョイ 6fd6-sHGY) [sage] 2025/07/04(金) 11:09:00.86 ID:7dTC+3QP0 シェルで済むならシェルにしなさい。(UNIX) http://mevius.5ch.net/test/read.cgi/tech/1745631298/516
517: デフォルトの名無しさん (ワッチョイ 4ef9-nkZs) [sage] 2025/07/04(金) 11:13:55.32 ID:lC93JhvQ0 言語なんでもいいって? リアルタイムOSってそもそも言語の選択肢少ねーだろ http://mevius.5ch.net/test/read.cgi/tech/1745631298/517
518: デフォルトの名無しさん (ワッチョイ 4ef9-nkZs) [sage] 2025/07/04(金) 11:19:04.05 ID:lC93JhvQ0 >>512 いうほどあいまいか? せいぜい中身がLinux、Windowsでアプリのインストールも自由みたいなやつだけだろ http://mevius.5ch.net/test/read.cgi/tech/1745631298/518
519: デフォルトの名無しさん (ワッチョイ 06a1-6mIp) [sage] 2025/07/04(金) 20:28:14.57 ID:wNUogzY00 >>511 ちょっI/Oしたらやっぱリアルタイム性に影響出るの?! んまー秒単位でwaitして帰ってこないみたいな極端なI/Oポートがあったらそうかもしれないが http://mevius.5ch.net/test/read.cgi/tech/1745631298/519
520: デフォルトの名無しさん (ワッチョイ 06a1-6mIp) [sage] 2025/07/04(金) 20:39:26.88 ID:wNUogzY00 >24時間365日止まってはいけない産業用制御 冗長構成かフェイルオーバーするような枠組みとしての取り組みが第一優先な希ガス…… ソフトウェアーの冪等性により同じバグが同じタイミングで発生して冗長構成が無意味化するする危険性については 十分テストしてバグを撮ったのちに起動タイミングをずらすなどの工夫を行えばポアソン分布の同時確率か何かに従って無視できうる(と思う さすがに原子炉の制御とかだとプロセス単体も形式検証して他分
野よりもっと十分検証するらしい(間接伝聞 http://mevius.5ch.net/test/read.cgi/tech/1745631298/520
521: デフォルトの名無しさん (ワッチョイ eb86-SoaL) [sage] 2025/07/05(土) 12:14:15.08 ID:JEWbe+UQ0 そんなレベルはラダー図で書くやろ http://mevius.5ch.net/test/read.cgi/tech/1745631298/521
522: デフォルトの名無しさん (ブーイモ MM8e-nkZs) [sage] 2025/07/05(土) 12:31:12.20 ID:yj3snSzGM というかリアルタイムOSの話から関係ない24/365システムの話を出すあたりよくわかってないことを雰囲気で話すタイプの人でしょ http://mevius.5ch.net/test/read.cgi/tech/1745631298/522
523: デフォルトの名無しさん (ワッチョイ af77-vr7j) [] 2025/07/05(土) 20:19:54.08 ID:iY4IPiMb0 >>521 C++ではないわな http://mevius.5ch.net/test/read.cgi/tech/1745631298/523
524: デフォルトの名無しさん (ワッチョイ ffa1-BzvG) [sage] 2025/07/06(日) 06:14:16.80 ID:B20RUTJT0 質問なのですが ケースA) std::stringstream ist("A B"); char c1, c2, c3; に対し、ist >> c1; ist >> c2; ist >> c3; とすると ist >> c2 は正常に読めて、ist >> c3 を実施した時点で!ist.good()かつist.eof() となってgetc()と類似のEOF検知挙動なのですが (ちなみに読み取った文字は c1='A'、c2='B'。c3の読み取りは行われない ケースB) std::stringstream ist("A B"); std::string s1, s2
, s3; に対し、ist >> s1; ist >> s2; ist >> s3; とすると ist >> s2 を実施した時点で早々に!ist.good()かつist.eof() となって挙動が相違し (ちなみに読み取った文字列は s1="A"、s2="B"。s3の読み取りは行われない ケースC) しかしBの後に空白を追加してstd::stringstream ist("A B "); とすると、 ist >> s2 は正常に読めて、ist >> s3 を実施した時点で!ist.good()かつist.eof() となってgetc()と類似のEOF検知挙動になる (ちなみに読み取った文字列は s1="A"
、s2="B"。s3の読み取りは行われない となってケースB)とケースC)で共通に使えるような最終要素まで読み取り完了判定ロジックが無く std::istream神話が崩壊したんだけどこれっておま環? 一体どうすれば……orz http://mevius.5ch.net/test/read.cgi/tech/1745631298/524
525: デフォルトの名無しさん (ワッチョイ ffa1-BzvG) [sage] 2025/07/06(日) 06:16:00.70 ID:B20RUTJT0 確認用サンプルコード: https://ideone.com/Guifzs http://mevius.5ch.net/test/read.cgi/tech/1745631298/525
526: デフォルトの名無しさん (ワッチョイ ffa1-BzvG) [sage] 2025/07/06(日) 06:47:52.68 ID:B20RUTJT0 とりま上のコードからフォークしたソースコード https://ideone.com/4WPZtB の parse_as_string_with_common_logic(std::istream& is, std::string& s, bool& bErr) みたいな判定処理にしたらケースB、Cを共通に扱えるような印象 なのですが正しくはどうすればよいかわからん…… http://mevius.5ch.net/test/read.cgi/tech/1745631298/526
527: デフォルトの名無しさん (ワッチョイ 17a6-aNVA) [sage] 2025/07/06(日) 07:26:05.90 ID:oIAQiRlj0 一般的な話ならchar以外の>>で一貫した挙動を期待するのに無理がある 期待した文字が来なかったらungetするかどうか?ファイル最後の改行をどうするか?シグナルが来たら?とか色々あるし ケースBで言えば"B"の後に文字が続いていればs2に含まないといけないのだから内部的にはケースAで言えばc3まで試し済みの状態 EOFフラグを見るのではなく例外で受け取ったほうが確実 http://mevius.5ch.net/test/read.cgi/tech/1745631298/527
528: デフォルトの名無しさん (アウアウウー Sa9b-zcFv) [sage] 2025/07/06(日) 10:18:34.40 ID:RFZXbMVga ケースB、Cを共通に扱える ist.eof()でいいやん Bが一回余分にループするのは気持ち悪いけど 気にしたら負け http://mevius.5ch.net/test/read.cgi/tech/1745631298/528
529: デフォルトの名無しさん (ワッチョイ 1f7f-Wka8) [sage] 2025/07/06(日) 10:53:22.37 ID:14zTNASB0 普通はoperator bool(または fail())を使う http://mevius.5ch.net/test/read.cgi/tech/1745631298/529
530: デフォルトの名無しさん (ワッチョイ ffa1-BzvG) [sage] 2025/07/06(日) 10:56:09.61 ID:B20RUTJT0 >>527 だいたいわかりた is >> s ライブラリの「>>」の仕様的にsが任意のクラスで有り得るから、 例えばsが複素数クラスで2つの要素を読み取るブツなのに対し要素を1つだけ読み取れなかった場合、 みたいなのが生じ得るがis.eof()ではそこまで表現できない故にライブラリ側では char以外の一般のケースについて責任を持たないというと理解すた、 従って、test_parse_as_string_with_common_logic(const char* szInput, bool& bErr
)を charの読み取りによってeof()判定するように直したわ これならiostreamの正当な使い方だけで構成されておりかつ目的を果たせているはず…… https://ideone.com/eaYGEt http://mevius.5ch.net/test/read.cgi/tech/1745631298/530
531: デフォルトの名無しさん (ワッチョイ ffa1-BzvG) [sage] 2025/07/06(日) 11:00:55.07 ID:B20RUTJT0 >>528 >Bが一回余分にループするのは気持ち悪いけど いきなりis >> s してその直後のeof()を当てにするロジックである限り、 リンク先のケースBの挙動となり、最後の要素に引き続く空白文字がないとき 最後の要素が入力ストリームにあるのに受け取れないというもっと深刻な事態となる以下略 >>529 operator boolはis.good()と同じはず…… なおかつそれ単独では(is >> sのsがchar以外のとき)ケースBの解決になんね ht
tp://mevius.5ch.net/test/read.cgi/tech/1745631298/531
532: デフォルトの名無しさん (ワッチョイ ffa1-BzvG) [sage] 2025/07/06(日) 11:06:26.76 ID:B20RUTJT0 ごめoperator boolは!is.fail()やった……orz http://mevius.5ch.net/test/read.cgi/tech/1745631298/532
533: デフォルトの名無しさん (ワッチョイ ffa1-BzvG) [sage] 2025/07/06(日) 11:24:16.88 ID:B20RUTJT0 二転三転してすまんこ考えを改めたはサーセン……orz 入力ストリームはシリアルポートみたいな途中で入力がブチ切れる危険性があるブツである こともあるから、 ケースB) (空白) (非空白文字列の期待する全体) ケースB') (空白) (非空白文字列が受信タイムアウトにより途中で切れたもの) の区別が!isになったというだけでは区別がつかない。一方、 (空白) (非空白文字列) (空白) まで受け取ったら、(非空白文字列) がタイムアウトにより途中で切れ
たものでないことが確実となりワカル 故に、ケースBやB'みたいな条件を扱うこと自体がライブラリの仕様想定外なのかもしれん…… 通常のテキスト読み込みでは行末に改行文字(空白文字のうち)が1文字以上あるから、この枠内で話が収まる。 Unixみたいに改行文字が '\n' 1文字だけな環境で、改行文字を読み飛ばして 呼び出し元に返さないgetline()みたいなやつで読んだ結果を istringstreamしようとするとケースBが顕在化するが、 この場合は強制的に末尾に空白文字を付けることができうる そうすればケースBは発生しない(ただし空白文字を付け忘れると
バグ http://mevius.5ch.net/test/read.cgi/tech/1745631298/533
534: デフォルトの名無しさん (ワッチョイ 377c-ZLf6) [sage] 2025/07/06(日) 11:56:43.72 ID:wbQZP2jZ0 iostreamなんかをテキストの厳格なパースなんかに使わなければならない理由から考え直した方がいい http://mevius.5ch.net/test/read.cgi/tech/1745631298/534
535: デフォルトの名無しさん (アウアウウー Sa9b-zcFv) [] 2025/07/06(日) 12:20:19.64 ID:RFZXbMVga 末尾で改行無しでeofが来るファイルは多い http://mevius.5ch.net/test/read.cgi/tech/1745631298/535
536: デフォルトの名無しさん (ワッチョイ ffa1-BzvG) [sage] 2025/07/06(日) 12:43:07.86 ID:B20RUTJT0 >>529 ゴメ operator std::istream::bool() か std::istream::fail() だけでとりま解決したわスマンカッタorz https://ideone.com/Fd5zV6 オンメモリのストリームである std::istringstream であっても>>533のケースB'に当たるケース (オンメモリなので非空白文字列でデータが終わっている場合)においてbadbitがセットされるっぽい この挙動がおま環でないかどうかはわからん…… http://mevius.5ch.net/test/read.cgi/tech/1745631298/536
537: デフォルトの名無しさん (ワッチョイ ffa1-BzvG) [sage] 2025/07/06(日) 12:47:26.46 ID:B20RUTJT0 >>534 いまさらlex的な処理をgetc()で手で書いたりstrtok()に戻ったりしたくないし…… http://mevius.5ch.net/test/read.cgi/tech/1745631298/537
538: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 3732-D1Zn) [sage] 2025/07/06(日) 13:40:09.19 ID:VHUnBvW80 パーサコンビネータ的なものを先に作るのがモダンな方法だが……。 汚い部分を抽象の向こうに押し込めるだけなので汚さが無くなるわけではない。 小さい規模だと愚直な方法が楽だったりするよ。 http://mevius.5ch.net/test/read.cgi/tech/1745631298/538
539: デフォルトの名無しさん (ワッチョイ 576b-4VWQ) [sage] 2025/07/10(木) 15:17:59.65 ID:pWdjbLc50 C++を勉強して思ったのが C++って基底クラスをリストに登録させて 派生クラスの機能をひたすら実行させることに特化してるように思うのだけどこの考え方で合ってる? 要はリストありきな感じ http://mevius.5ch.net/test/read.cgi/tech/1745631298/539
540: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 3732-SsbA) [sage] 2025/07/10(木) 15:54:02.04 ID:UMLMi9p20 >>539 ゲームのフレームワークでは全てのエンティティを登録してそれに対する更新を繰り返すというモデルがありふれているが、 C++ 的にそれが普通というわけではない。 http://mevius.5ch.net/test/read.cgi/tech/1745631298/540
541: デフォルトの名無しさん (ワッチョイ bfad-3agI) [sage] 2025/07/10(木) 16:45:53.90 ID:1drjG1ps0 >>539 一度デバッガで実行をトレースしてみ? http://mevius.5ch.net/test/read.cgi/tech/1745631298/541
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 66 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.027s