C++相談室 part166 (607レス)
C++相談室 part166 http://mevius.5ch.net/test/read.cgi/tech/1745631298/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
1: sage (ワッチョイ 8732-NXaD) [] 2025/04/26(土) 10:34:58.41 ID:pbPDl6lv0 !extend:checked:vvvvv:1000:512 !extend:checked:vvvvv:1000:512 ↑同じ内容を3行貼り付けること 次スレは>>980が立てること 無理なら細かく安価指定 ※前スレ C++相談室 part165 https://mevius.5ch.net/test/read.cgi/tech/1698705458/ VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured http://mevius.5ch.net/test/read.cgi/tech/1745631298/1
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の解決になんね http://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
542: デフォルトの名無しさん (ワッチョイ 9f88-D0JT) [] 2025/07/10(木) 18:55:50.32 ID:y21Xxg220 >>508 な、なるほど 何にしても、この先生きのこるには C/C++ は必要そうだね Py や JS なんかだと若い衆がどんどん来るから負けそうだし・・・ http://mevius.5ch.net/test/read.cgi/tech/1745631298/542
543: デフォルトの名無しさん (ワッチョイ 576b-4VWQ) [sage] 2025/07/10(木) 21:11:59.82 ID:pWdjbLc50 >>540-541 ありがとうございます リストを自作するなりstd::listを使うなりして printfみたいな文字出力をする時も、出力部分をタスククラスにぶっこんでラッピングして 出力は派生クラスでオーバーライドしたc->draw();みたいなのに任せる、というのはゲーム専用で他ではあまりされないんですね http://mevius.5ch.net/test/read.cgi/tech/1745631298/543
544: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 176c-SsbA) [sage] 2025/07/11(金) 01:51:13.39 ID:/nWuXYnL0 C++ は設計理念のひとつとして「人に何かを強制しない」というのを挙げていて、やりたいように書けることを重視してる。 同じパターンでプログラムを書いているように感じるなら単にあなたがそのやり方しか知らないだけ。 分野ごとに大枠ではやりやすいパターンが定着していたりはするので、ひとつの分野だけ見ていると頻出パターンがあるように見えることはあるかも。 http://mevius.5ch.net/test/read.cgi/tech/1745631298/544
545: デフォルトの名無しさん (ワッチョイ 9f15-sH2C) [] 2025/07/11(金) 11:58:09.09 ID:nUxw0t1Z0 BASICも同様の理念で作ればいいのに http://mevius.5ch.net/test/read.cgi/tech/1745631298/545
546: デフォルトの名無しさん (ワッチョイ bff3-4Q3H) [] 2025/07/11(金) 12:28:00.28 ID:36pXyECQ0 >>544 Z世代にはRuby on RailsやRustのほうが良いかもしれませんね http://mevius.5ch.net/test/read.cgi/tech/1745631298/546
547: デフォルトの名無しさん (スフッ Sdbf-zcFv) [] 2025/07/11(金) 14:36:44.91 ID:zLrVPFvnd >>543 RustのDisplayやDebugなんてまさにそれだが http://mevius.5ch.net/test/read.cgi/tech/1745631298/547
548: デフォルトの名無しさん (ワッチョイ 1fb7-p46g) [] 2025/07/12(土) 13:34:42.02 ID:Y1veRsrW0 C++でデフォルトコンストラクタで確保したリソースだけデストラクタで破棄したくてコピーコンストラクタやコピー代入ムーブコンストラクタやムーブ代入で得たリソースはデストラクタで破棄させたくないときどうする? rustみたいな所有権システム必要になるんですか? http://mevius.5ch.net/test/read.cgi/tech/1745631298/548
549: デフォルトの名無しさん (ワッチョイ f74e-Wka8) [] 2025/07/12(土) 14:19:56.77 ID:tjRcyRc80 なんでそんなことが必要なのかわからないけど、破棄するかどうかのフラグを持っておけばいいんじゃないの? 設計から見直した方が良いようなきがするけどw http://mevius.5ch.net/test/read.cgi/tech/1745631298/549
550: デフォルトの名無しさん (ワッチョイ f7c2-z8QQ) [sage] 2025/07/12(土) 17:03:35.88 ID:BGsI/m1X0 >>548 俺もなんでそんなことが必要なのかわからないけど、pip使ってデフォルトコントラスタのオーナーだけにshared ptrでリソース管理させるとか? これだとバグが怖いから、素直にshared ptrでリソースを共有したほうがいい気がする。 http://mevius.5ch.net/test/read.cgi/tech/1745631298/550
551: デフォルトの名無しさん (ワッチョイ 9f02-cEtd) [sage] 2025/07/12(土) 17:24:13.44 ID:1YAX70Df0 ゲームプログラムをマルチスレッドにするとき、何をマルチスレッドにするの? ストレージのロードとかはともかく http://mevius.5ch.net/test/read.cgi/tech/1745631298/551
552: デフォルトの名無しさん (アウアウウー Sa9b-zcFv) [] 2025/07/12(土) 18:45:10.30 ID:/RtKayKia マルチスレッドにしたいものをマルチスレッドにする http://mevius.5ch.net/test/read.cgi/tech/1745631298/552
553: デフォルトの名無しさん (ワッチョイ f7bd-eG3U) [] 2025/07/12(土) 19:12:52.47 ID:LUVzIFWA0 遠景のテクスチャのロードなんかは別スレッドかな? 当たり判定などのロジックは遅延なく1フレーム16ミリ秒以内にやらなきゃいけないのでメインスレッドでやるしかない ゲームでマルチスレッド使うのって難しいよね http://mevius.5ch.net/test/read.cgi/tech/1745631298/553
554: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 3732-SsbA) [sage] 2025/07/12(土) 20:02:23.86 ID:5KyGwfre0 排他処理が入ると並列化の恩恵がだいぶん減るので高速化の意図でマルチスレッドを使うなら排他が不要な部分を見つけるのが第一だね。 メモリなどの各種のリソース管理の後始末を別スレッドに任せるという例も聞いたことはある。 デストラクタが起動するとサブオブジェクトのデストラクタも連鎖的に起動するからワンフレームの時間が限られている状況では間に合わないということも起こる。 だからデストラクタは後始末が必要なリソースをテーブルに登録するだけにして、別スレッドが実際の後始末をするってことね。 もう使うことの無いリソースだというのは分かってるから排他は少なくてすむ。 (ヒープメモリの管理テーブルはスレッド共通だから排他がゼロとはいかないと思うけど。) 後始末が少しくらい遅れてもどうということはないし。 http://mevius.5ch.net/test/read.cgi/tech/1745631298/554
555: デフォルトの名無しさん (ワッチョイ e202-oEHq) [sage] 2025/07/13(日) 11:30:27.40 ID:WDtYO/xJ0 まあ、 アクションとか以外の、1/60秒で同期させなくていい処理ですかね… 遠くのPhysXの物理とかもできるのかな… 数年ぶりで、レイトレーシングとか未経験だわ… http://mevius.5ch.net/test/read.cgi/tech/1745631298/555
556: デフォルトの名無しさん (ワッチョイ e202-oEHq) [sage] 2025/07/13(日) 11:36:28.87 ID:WDtYO/xJ0 >>554 コンテキストスイッチとか気にしないといけないですね… PlaystationとXboxとPCゲームで、それぞれに最適化とか大変そうですね… http://mevius.5ch.net/test/read.cgi/tech/1745631298/556
557: デフォルトの名無しさん (ワッチョイ cecd-YjA1) [] 2025/07/13(日) 21:38:10.94 ID:e/4c/Agi0 ・人間は犯罪を起こす種族と言い切っている 地球はすでに丸見え、レーダー電波で宇宙人に居場所をさらしている 公開: 2025-07-13 21:00 https://karapaia.com/archives/524757.html >>明らかに人工的なもので、200光年以内にある知的文明なら、地球の場所を把握できる可能性が高い。 >>アレシボ天文台のような超高感度の望遠鏡を使えば、理論上は6万光年先からでも地球の電波を検出できるとされている。 >>に宇宙空間で“丸見え”の状態にあり、その状況は75年前から続いているのだ。問題は、彼らが友好的な文明であるという保証がまったくないことだ。 ★>>可能性としては、(我々人間のように)きわめて敵対的かつ侵略的な種族であるケースも十分にあり得る。 http://mevius.5ch.net/test/read.cgi/tech/1745631298/557
558: デフォルトの名無しさん (ワッチョイ ce59-YjA1) [] 2025/07/14(月) 12:26:06.28 ID:D5VD7WG/0 GPT-4.1超えの中国製AIモデル「Kimi K2」が無料公開される、複数のテストでGPT-4.1やClaude 4 Opusを打ち負かしエージェントタスクもこなす 2025年07月14日 11時10分 https://gigazine.net/news/20250714-ai-kimi-k2/ >>Kimi K2はベースモデルの「Kimi-K2-Base」と事後学習済みモデルの「Kimi-K2-Instruct」の2種類に分かれてリリースされています。以下の図は「Kimi-K2-Instruct」「DeepSeek V3」「Qwen3-235B」「GPT-4.1」「Claude 4 Opus」「Claude 4 Sonnet」「Gemini 2.5 Flash」のベンチマークスコアを並べたものです。Kimi-K2-InstructはすべてのテストでオープンモデルのDeepSeel V3とQwen3-235Bを超えるスコアを記録し、一部のテストでGPT-4.1やClaude Sonnet 4などの商用モデルに勝利しています。 ◇上記サイト内にダウンロードリンクがある http://mevius.5ch.net/test/read.cgi/tech/1745631298/558
559: デフォルトの名無しさん (ワッチョイ a9d9-jjSx) [sage] 2025/07/14(月) 14:37:25.45 ID:4jx6FCSc0 >>540 お前ゲーム作ったこと無いやろ・・・ http://mevius.5ch.net/test/read.cgi/tech/1745631298/559
560: デフォルトの名無しさん (ワッチョイ 370b-VyTm) [sage] 2025/07/14(月) 16:00:51.76 ID:sJl0ASyp0 ただエンプティ言いたいだけ違うんかと http://mevius.5ch.net/test/read.cgi/tech/1745631298/560
561: デフォルトの名無しさん (ワッチョイ 915f-YjA1) [sage] 2025/07/14(月) 16:18:22.23 ID:CQ+aGKeG0 画面描画FPS(frames per second)を固定させる為に、以下の待ち処理を入れるとFPSがメッチャ安定する: while (system_clock::now() < t_after_sleeping) { Sleep(0); } しかし強制フリーズさせてるみたいで、ハード痛めたりしないか不安なんだが。どうなん実際の所?詳しい人教えて http://mevius.5ch.net/test/read.cgi/tech/1745631298/561
562: デフォルトの名無しさん (ワッチョイ 30a6-4yYS) [sage] 2025/07/14(月) 16:27:01.51 ID:NLDJkZue0 マルチスレッドのセオリーとしてはSleepせずにビジーループするほうが問題 なんだけど、Sleepだと精度悪すぎてちゃんとFPS担保できるのか心配にはなる。動いてるならそれでいいけど http://mevius.5ch.net/test/read.cgi/tech/1745631298/562
563: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ bd32-2YuX) [sage] 2025/07/14(月) 17:49:12.87 ID:23SHNwVj0 >>561 定石と言えるレベルの普通の処理だよ。 既に指摘されているようにタイマーの精度の問題はあるので工夫を入れる必要はあるけど、 精度が悪くても処理が遅れる (想定より FPS が下がる) 可能性があるだけ。 どういう理屈で不安に思っているのかがよくわからないので何を間違っているのか説明できない。 Sleep(0) が何をやってるかわからない (これが何らかの危険な処理だと思っている) ってこと? http://mevius.5ch.net/test/read.cgi/tech/1745631298/563
564: デフォルトの名無しさん (ワッチョイ 915f-YjA1) [sage] 2025/07/14(月) 20:03:36.26 ID:CQ+aGKeG0 test http://mevius.5ch.net/test/read.cgi/tech/1745631298/564
565: デフォルトの名無しさん (ワッチョイ 915f-YjA1) [sage] 2025/07/14(月) 20:04:22.78 ID:CQ+aGKeG0 >>563 ありがとう。Sleep(0)が何をやっているかはわかっている http://mevius.5ch.net/test/read.cgi/tech/1745631298/565
566: デフォルトの名無しさん (ワッチョイ 915f-YjA1) [sage] 2025/07/14(月) 20:05:51.19 ID:CQ+aGKeG0 >>561のwhile中を空にする(Sleep(0)しない) > while中でSleep(0)する > while中でSleep(1)する(時間単位を1msにして待ち時間を1ms縮める) という具合にCPU占有率が上がる。精度は落ちるがSleep(1)を入れた方がCPUの負荷は減るので、何となく安心する。 http://mevius.5ch.net/test/read.cgi/tech/1745631298/566
567: デフォルトの名無しさん (ワッチョイ 915f-YjA1) [sage] 2025/07/14(月) 20:06:23.37 ID:CQ+aGKeG0 >>561のwhileの中でSleep(0)しつつ準ビジー状態を強行するのがどれだけハードに悪影響なのか、その辺りの実績経験を盗みかった。卑しい盗人を助けてくれ下さい http://mevius.5ch.net/test/read.cgi/tech/1745631298/567
568: デフォルトの名無しさん (ワッチョイ 7001-jjSx) [sage] 2025/07/15(火) 00:13:36.01 ID:KEPxDdxR0 C++スレ的にはthis_thread::yieldかと思ったんだが http://mevius.5ch.net/test/read.cgi/tech/1745631298/568
569: デフォルトの名無しさん (ワッチョイ 6268-3HIJ) [sage] 2025/07/15(火) 04:24:49.25 ID:4J45BJq00 >>561 グラフィックのAPIは何使ってる? 何と比べて安定したのかしらんけどそのやり方でディスプレイの出力と同期できるわけないのわかる? http://mevius.5ch.net/test/read.cgi/tech/1745631298/569
570: デフォルトの名無しさん (ワッチョイ cda1-2ooF) [sage] 2025/08/04(月) 06:40:16.41 ID:0gfRmGh70 ちょっ質問なのですが unsigned long m_ulAbortReasonBmp; std::mutex m_mutex; std::atomic<unsigned long> m_ulBias; に対し、 m_mutex.lock(); m_ulAbortReasonBmp |= fooBmp; // (1) : m_mutex.lock()期間内 m_mutex.unlock(); m_ulBias.store(barVal, std::memory_order_release); // (2) : m_mutex.lock()期間外だがm_mutex.lock()期間の後 としたとき、 Q1. m_mutex.lock()している他スレッドから見て(1)、(2)の操作の順序(m_ulAbortReasonBmpが変化した後、m_ulBiasが変化する)は保証される? Q2. m_mutex.lock()していない他スレッドから見てんも(1)、(2)の操作の順序(m_ulAbortReasonBmpが変化した後、m_ulBiasが変化する)は保証される? http://mevius.5ch.net/test/read.cgi/tech/1745631298/570
571: デフォルトの名無しさん (ワッチョイ cda1-2ooF) [sage] 2025/08/04(月) 07:34:20.02 ID:0gfRmGh70 Q1については、他スレッドから見てm_ulBiasのreadが m_mutex.lock()期間(クリティカルセクション)内のm_ulAbortReasonBmpへの書き込みより 先行するようなことが起きるとクリティカルセクションの意味が消失するから保証される Q2についてはm_ulBiasのreadがプロセッサコアにどう計画されるかわからないから m_ulAbortReasonBmpへの書き込みの後になることは一般に保証されない、 が、現在人類が手にしているクリティカルセクションの実装(lock期間に入るときと出るときそれぞれで いかなるreadもwriteも無差別にバリアする)により、lockしないスレッドから見ても順序が実質的に保証される、 でおk? http://mevius.5ch.net/test/read.cgi/tech/1745631298/571
572: デフォルトの名無しさん (ワッチョイ cda1-2ooF) [sage] 2025/08/04(月) 08:33:59.43 ID:0gfRmGh70 訂正orz、 Q2のケースでは保証されない 現在人類が手にしているクリティカルセクションの実装(lock期間に入るときと出るときそれぞれで いかなるreadもwriteも無差別にバリアする)のが真実だとしても、 それはm_ulAbortReasonBmpやm_ulBiasをwriteする側のスレッドがwrite順を守るというだけで、 m_ulAbortReasonBmpやm_ulBiasをreadする側のスレッドにはメモリバリアするコードが無いから read順を好きに計画され、writeした順でreadされる保証が無い http://mevius.5ch.net/test/read.cgi/tech/1745631298/572
573: デフォルトの名無しさん (ワッチョイ 5f79-1HMX) [sage] 2025/08/04(月) 08:41:31.47 ID:3rv0HXUI0 >ちょっ かわいい …舐めてんの? http://mevius.5ch.net/test/read.cgi/tech/1745631298/573
574: デフォルトの名無しさん (ワッチョイ e3b9-Psuq) [sage] 2025/08/04(月) 16:26:39.26 ID:Tt4A7oMm0 >>572 コードに無いreadの話が入ってくるのが意味がわからない 聞きたいことはwriteの順番が保証されるかではないのか? writeの順番は保証される http://mevius.5ch.net/test/read.cgi/tech/1745631298/574
575: デフォルトの名無しさん (ワッチョイ 7f4e-W9J6) [] 2025/08/10(日) 21:35:26.79 ID:gXfPFnW/0 男きたああああああああああ http://mevius.5ch.net/test/read.cgi/tech/1745631298/575
576: デフォルトの名無しさん (ワッチョイ d322-PSkW) [] 2025/08/22(金) 07:16:07.15 ID:iDw/vpGA0 初心者だけど、 Pythonみたいにreturnを複数ってできないの? touple使うくらい? http://mevius.5ch.net/test/read.cgi/tech/1745631298/576
577: デフォルトの名無しさん (ワッチョイ 5bfd-Srv/) [sage] 2025/08/22(金) 07:35:30.89 ID:8V9ySHS/0 複数の値を一つにまとめればいいだけ 返す型次第 http://mevius.5ch.net/test/read.cgi/tech/1745631298/577
578: デフォルトの名無しさん (ワッチョイ 5b85-ZBQJ) [] 2025/08/22(金) 08:55:40.38 ID:LQncxxKI0 複数返したいならタプルでいいんじゃない 引数に出力渡すのが多いと思うけど http://mevius.5ch.net/test/read.cgi/tech/1745631298/578
579: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 5932-86vp) [sage] 2025/08/22(金) 10:34:20.59 ID:s1oN92u00 Python でも返却値として複数の値を返すことは出来ない。 Python で return にカンマ区切りで複数の式を書くとタプルになってる。 受け取る側で複数の変数を書いておけばタプルが分配 (unpack) されたりはするけど…… 関数が返却しているのはあくまでもひとつの値という理屈。 複数の値 (いわゆる多値) を関数が返せる言語はそれほど多くない。 LISP 系は多値のサポートがあることが多いけどそれ以外だと Go くらいじゃないかな? (マイナー言語だとわからんけどよく知られている主要な言語にはほとんどないと思う。) シンタクス的には C++ で return にカンマ区切りで複数の値を渡そうとしたとき、 つまり return 1, 2, 3; というように書いたときのカンマはカンマ演算子として解釈される。 カンマ演算子は左辺の結果を捨てる (評価はする) ので 3 だけが返却値になる。 C++ で複数の値をひとまとめにするには波括弧で囲む記法があって std::tuple<int, int, int> foo(void) { return {1, 2, 3}; } というように書けるんだが…… この波括弧は初期化の記法であってタプルのリテラルというわけではないのでそこんところは注意。 http://mevius.5ch.net/test/read.cgi/tech/1745631298/579
580: デフォルトの名無しさん (ワッチョイ d1d6-uNzz) [sage] 2025/08/22(金) 10:49:05.94 ID:hiXhYkKD0 >>579 受け取る方はどうやって受ければいいのですか? 私の頭だと構造体で返せばいいかな なんつて http://mevius.5ch.net/test/read.cgi/tech/1745631298/580
581: デフォルトの名無しさん (ブーイモ MMb3-Srv/) [sage] 2025/08/22(金) 11:06:34.54 ID:HM+/3rtsM >>580 構造化束縛で取り出すのが楽 構造体を定義する手間が気にならないならそれでもいい http://mevius.5ch.net/test/read.cgi/tech/1745631298/581
582: デフォルトの名無しさん (スププ Sdb3-im2P) [sage] 2025/08/22(金) 11:49:05.11 ID:ZeYv0pFNd C++も昔に比べれば随分と楽になった http://mevius.5ch.net/test/read.cgi/tech/1745631298/582
583: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 5932-86vp) [sage] 2025/08/22(金) 12:07:46.82 ID:s1oN92u00 >>580 タプルは単にタプル型の値なので普通に受け取れる。 auto bar = foo(); といったように書ける。 タプルから要素を取り出すのは std::get<0>(bar); といった要領になる。 受け取るときに変数に分配するやり方もあって atuo [r1, r2, r3] = foo(); というようにも書ける。 これを構造化束縛という。 おそらくこれが期待していたものなんじゃないか? この記法はタプルに限らずタプルライクな型、配列型、データメンバが全て公開直接メンバであるような型などであれば使える。 http://mevius.5ch.net/test/read.cgi/tech/1745631298/583
584: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 5932-86vp) [sage] 2025/08/22(金) 12:23:44.06 ID:s1oN92u00 もし使っているコンパイラが MSVC なら MSVC のデフォルトでは C++14 になってるはずだからそのままだと構造化束縛を使えないかも。 (構造化束縛は C++17 から。) 私は MSVC を利用していないから具体的なやり方は知らんけど必要なら適当に設定してね。 http://mevius.5ch.net/test/read.cgi/tech/1745631298/584
585: デフォルトの名無しさん (ワッチョイ d1d6-uNzz) [sage] 2025/08/22(金) 17:49:52.20 ID:hiXhYkKD0 どもです。構造化束縛ね。なんか聞いた事あるかなという程度だった。 使うかなぁ・・・ http://mevius.5ch.net/test/read.cgi/tech/1745631298/585
586: デフォルトの名無しさん (ワッチョイ c1ad-F95I) [sage] 2025/08/22(金) 21:41:35.66 ID:NcnZjMQ+0 構造体ほど強いまとまりではなく、返り値だけのゆるいまとまりなら構造化束縛の方が便利だけどねぇ http://mevius.5ch.net/test/read.cgi/tech/1745631298/586
587: デフォルトの名無しさん (ワッチョイ d38d-PSkW) [] 2025/08/22(金) 21:41:55.58 ID:iDw/vpGA0 >>579 std::tuple<int, float, long> foo(void) { return {1, 2.1, 99}; } atuo [r1, r2, r3] = foo(); って書いたら、 r1に1が、r2に2.1が入るの? まあそれでもいいかな PythonからC++に移植中で、ちょっと読みづらいと思ったので… http://mevius.5ch.net/test/read.cgi/tech/1745631298/587
588: デフォルトの名無しさん (ワッチョイ d38d-PSkW) [] 2025/08/22(金) 21:45:40.16 ID:iDw/vpGA0 >>587 まあでも、なんで複数returnにしないのかね? outの引数が多すぎだわ http://mevius.5ch.net/test/read.cgi/tech/1745631298/588
589: デフォルトの名無しさん (ワッチョイ c1ad-F95I) [sage] 2025/08/22(金) 22:11:20.77 ID:NcnZjMQ+0 Python でも複数return ってできないと思うけど? カンマ演算子でタプルを作って返してるだけでしょ http://mevius.5ch.net/test/read.cgi/tech/1745631298/589
590: デフォルトの名無しさん (ワッチョイ 51a5-VfJp) [sage] 2025/08/22(金) 23:03:10.61 ID:5NhjtIih0 そうやね。Pytnonのカンマは、言語仕様上は演算子とは一応区別されているみたいだけど、感覚的には演算子だよね。何で演算子ではないんだろうというのはちょっとした疑問だけど(1, みたいなのを後置演算子と呼ぶのはちょっと変とかそういうことかな?) http://mevius.5ch.net/test/read.cgi/tech/1745631298/590
591: デフォルトの名無しさん (ワッチョイ d1d6-uNzz) [sage] 2025/08/23(土) 01:30:59.35 ID:ynkOCuVA0 //こんな感じ? #include <iostream> #include <tuple> using namespace std; tuple<int, float, long> foo() { return {1, 2.1, 99}; } int main(){ auto [r1, r2, r3] = foo(); cout<<r1<<endl; cout<<r2<<endl; cout<<r3<<endl; return 0; } http://mevius.5ch.net/test/read.cgi/tech/1745631298/591
592: デフォルトの名無しさん (ワッチョイ 7101-Im4V) [sage] 2025/08/23(土) 01:57:32.43 ID:HIKpDy1T0 構造化束縛を調べてみたら fooの返り値はtupleでなくてもpairで返しても良さそうなんだけど どういうルールなの? キモい http://mevius.5ch.net/test/read.cgi/tech/1745631298/592
593: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 5932-oZZu) [sage] 2025/08/23(土) 02:11:02.56 ID:CHT0FIec0 >>592 それがタプルライクの概念。 std::tuple_size の特殊化など、いくつかのインターフェイスを実装すればタプルと同じように扱ってくれる仕組み。 それとは別に配列の場合とか、全てのデータメンバが公開直接メンバなクラスもありということになってるのは単純に箇条書きで数種類のパターンを示す形になってる。 それほどパターンが多くはないがひとつの原則で表せるわけでもない。 http://mevius.5ch.net/test/read.cgi/tech/1745631298/593
594: デフォルトの名無しさん (ワッチョイ 7101-Im4V) [sage] 2025/08/23(土) 02:22:04.99 ID:HIKpDy1T0 >>593 >それほどパターンが多くはないがひとつの原則で表せるわけでもない。 キメぇよw http://mevius.5ch.net/test/read.cgi/tech/1745631298/594
595: デフォルトの名無しさん (ワッチョイ 2b10-fgJ7) [sage] 2025/08/23(土) 09:17:36.36 ID:rBYkDYvT0 構造的部分型とか静的ダックタイピングって呼ばれるやつ? http://mevius.5ch.net/test/read.cgi/tech/1745631298/595
596: デフォルトの名無しさん (ワッチョイ d326-PSkW) [] 2025/08/23(土) 13:12:32.34 ID:wVRYzYK20 >>591 int r1; float r2; long r3 r1, r2, r3 = foo(); って書きたいですね。Pythonみたく http://mevius.5ch.net/test/read.cgi/tech/1745631298/596
597: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 51e2-oZZu) [sage] 2025/08/23(土) 13:15:39.41 ID:DefMPT1k0 代入のときは tie を使う。 http://mevius.5ch.net/test/read.cgi/tech/1745631298/597
598: デフォルトの名無しさん (ワッチョイ c9bc-zJwz) [] 2025/08/23(土) 15:01:16.09 ID:p3yrvAiP0 テンプレートの黒魔術で脳汁出てからが本番 http://mevius.5ch.net/test/read.cgi/tech/1745631298/598
599: デフォルトの名無しさん (ワッチョイ 5be0-Srv/) [sage] 2025/08/23(土) 15:37:03.06 ID:T+HzfXMC0 >>596 別の言語っぽくって考えは捨てた方が身のため http://mevius.5ch.net/test/read.cgi/tech/1745631298/599
600: デフォルトの名無しさん (ワッチョイ 9379-XJDV) [sage] 2025/08/23(土) 19:08:06.22 ID:VwZegIlc0 666! http://mevius.5ch.net/test/read.cgi/tech/1745631298/600
601: デフォルトの名無しさん (スフッ Sdb3-im2P) [] 2025/08/23(土) 19:56:19.30 ID:k0uySdFmd struct { int r1, float r2, long r3 } t; t = foo(); って描きたい struct に tuple からのコンストラクタを実装すれば良いのかな http://mevius.5ch.net/test/read.cgi/tech/1745631298/601
602: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 5932-86vp) [sage] 2025/08/23(土) 20:18:30.70 ID:CHT0FIec0 >>601 最初から foo がその型で返せばいいんでないの? http://mevius.5ch.net/test/read.cgi/tech/1745631298/602
603: デフォルトの名無しさん (ワッチョイ 6dad-W0Wb) [sage] 2025/08/24(日) 12:07:46.50 ID:HqphwiLf0 C言語から続くカンマ演算子が分かってないんでは? http://mevius.5ch.net/test/read.cgi/tech/1745631298/603
604: デフォルトの名無しさん (ワッチョイ fee0-ea+o) [sage] 2025/08/24(日) 12:09:48.21 ID:gU3L8vdd0 Pythonあがりだから型を定義する意味がわかってないんだと思う http://mevius.5ch.net/test/read.cgi/tech/1745631298/604
605: デフォルトの名無しさん (ワッチョイ 15d6-VoZ8) [sage] 2025/08/25(月) 07:55:54.04 ID:O202BBJ90 a=10 a=’hello' 翻訳しながらだからできるんだろうけどね。 http://mevius.5ch.net/test/read.cgi/tech/1745631298/605
606: デフォルトの名無しさん (ワッチョイ 86cf-tcs3) [sage] 2025/08/25(月) 08:19:19.75 ID:X23BjBGY0 >590 左辺にも現れるからじゃね? http://mevius.5ch.net/test/read.cgi/tech/1745631298/606
607: 初心者プログラマー (ワッチョイ d5ce-rKTE) [] 2025/08/28(木) 17:50:07.17 ID:GULY1B8W0 cppでbazelでmediapipeのビルド方法を教えてくれる方はいませんか? 自分の環境 Visual Studio Community 2022 Windows11 64 ビット scoopでbazel 5.3.0 Python 3.10.0 http://mevius.5ch.net/test/read.cgi/tech/1745631298/607
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
1.171s*