!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
探検
C++相談室 part166
1sage (ワッチョイ 8732-NXaD)
2025/04/26(土) 10:34:58.41ID:pbPDl6lv0449デフォルトの名無しさん (オイコラミネオ MMab-Hs71)
2025/06/22(日) 19:08:02.78ID:x4CLaAtVM450デフォルトの名無しさん (ワッチョイ 6501-AU/s)
2025/06/23(月) 01:01:04.29ID:Gvg9upbV0 http://hissi.org/read.php/tech/20250622/NGFYUVNZT0cw.html
毎回こことPythonスレだけ荒らしてるアホ
毎回こことPythonスレだけ荒らしてるアホ
451デフォルトの名無しさん (ワッチョイ 7dbb-uyNB)
2025/06/23(月) 01:12:15.09ID:Btl+IikW0 統失の間でもPythonとC++は認知されてるってことでしょ
名誉ですなぁ
名誉ですなぁ
452デフォルトの名無しさん (ワッチョイ d5d6-WswN)
2025/06/23(月) 14:29:01.81ID:zsxUyp330 C++でpythonのライブラリを作るのが気持ちいいかなみたいな。
ん? 普通はpythonのライブラリって何で書かれているんだろう。
ん? 普通はpythonのライブラリって何で書かれているんだろう。
453デフォルトの名無しさん (オイコラミネオ MM89-Hs71)
2025/06/23(月) 16:02:13.08ID:n3O4Zcz+M >>450
Rustスレにも投稿されてたで。
Rustスレにも投稿されてたで。
454デフォルトの名無しさん (アウアウウー Sa69-G7Nc)
2025/06/24(火) 09:31:18.32ID:17zM306Da pythonのモジュールはpythonでも描けるが
もちろんCでも描けるしC++でも描ける
最近はRustで描くのが楽で良い
もちろんCでも描けるしC++でも描ける
最近はRustで描くのが楽で良い
455デフォルトの名無しさん (JP 0Hab-E2BB)
2025/06/24(火) 17:31:46.42ID:Sa2uRHN0H Rustは良い言語かもしれんが、自分には
必要ない。
必要ない。
456デフォルトの名無しさん (オイコラミネオ MM89-Hs71)
2025/06/24(火) 18:59:56.02ID:FRc1H2/gM >>455
同意
同意
457デフォルトの名無しさん (ワッチョイ 2302-ES++)
2025/06/24(火) 19:19:29.25ID:8wBejQ5/0458デフォルトの名無しさん (ワッチョイ 2338-QARi)
2025/06/24(火) 19:22:51.87ID:hfqdv+Ay0 Rustに静的ダックタイプ入ったら使うかどうか考える。
設計をカッチリできるプロジェクトでもなければRustはキツくない?
c++もコンセプト制約変数とか入らんかな。
変数レベルで静的ダックタイプにして、クラス継承は無くしたい。
設計をカッチリできるプロジェクトでもなければRustはキツくない?
c++もコンセプト制約変数とか入らんかな。
変数レベルで静的ダックタイプにして、クラス継承は無くしたい。
459はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 8d32-ukKJ)
2025/06/24(火) 19:44:21.82ID:s2rFPvAe0 C++26 にはリフレクションがようやく入る見込みで、これを使えばダックタイピングのような仕組みをライブラリで実現できる。
460デフォルトの名無しさん (ワッチョイ 55ea-mGXm)
2025/06/24(火) 20:15:46.49ID:S1fYPTVc0 >>457
モジュールを書く人とAIを書く人が別だからじゃろ
モジュールを書く人とAIを書く人が別だからじゃろ
461はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 8d32-ukKJ)
2025/06/24(火) 20:45:25.03ID:s2rFPvAe0 AI の専門家がプログラミングの専門家というわけでもないしな。
462デフォルトの名無しさん (ワッチョイ 2302-ES++)
2025/06/24(火) 20:49:18.38ID:8wBejQ5/0 >>460
というと?
というと?
463デフォルトの名無しさん (オイコラミネオ MM89-Hs71)
2025/06/26(木) 02:55:12.43ID:v8FRsUWIM NSCがC++を廃してRustを推しているのは、中国のUnrealEngineへの牽制か?
464デフォルトの名無しさん (オイコラミネオ MM89-Hs71)
2025/06/26(木) 02:59:40.78ID:v8FRsUWIM NSA だ。
465デフォルトの名無しさん (ワッチョイ 2302-ES++)
2025/06/26(木) 03:19:10.72ID:P3qvmtvK0466デフォルトの名無しさん (ササクッテロリ Sp81-AU/s)
2025/06/26(木) 07:43:46.78ID:NfgrBwV2p UEはアメリカのゲーム企業が作ったものなんだが・・
467デフォルトの名無しさん (オイコラミネオ MM89-HeZH)
2025/06/26(木) 12:38:45.11ID:deRGahNkM スマン。中国が作ったものだとばかり思っていた。
468デフォルトの名無しさん (ワッチョイ 23f0-WswN)
2025/06/26(木) 12:41:11.49ID:3UJQKTFB0 ったく、こりだからよお
469デフォルトの名無しさん (ワッチョイ 23b7-S6wV)
2025/06/26(木) 17:13:34.04ID:zdpAcYpu0 悪意のあるVSCode拡張機能を検出できる「VSCan」
https://gigazine.net/news/20250625-vscan/
※上記の
本体プログラミング改造で改造コードを仕込む場所や攻撃ポイントを割り出せる
※緒繼Lと下記のプャ鴻Oラムでエラ=[コードをメモャ梶[^上に無いbゥを調べて別のャvログラムを走b轤ケるとエラーャRードから親友bナきるかが割り緒oせる
などいろいろと使用可能
AIを活用した完全自律型の侵入テストツール「XBOW」がHackerOneのランキングでついに人間を抜いて1位に
https://gigazine.net/news/20250625-hackerone-xbow/
上記のプログラムと電波障害などで生じたエラーなどでで無理やりセキュリティーほーホールを見つけれる
https://gigazine.net/news/20250625-vscan/
※上記の
本体プログラミング改造で改造コードを仕込む場所や攻撃ポイントを割り出せる
※緒繼Lと下記のプャ鴻Oラムでエラ=[コードをメモャ梶[^上に無いbゥを調べて別のャvログラムを走b轤ケるとエラーャRードから親友bナきるかが割り緒oせる
などいろいろと使用可能
AIを活用した完全自律型の侵入テストツール「XBOW」がHackerOneのランキングでついに人間を抜いて1位に
https://gigazine.net/news/20250625-hackerone-xbow/
上記のプログラムと電波障害などで生じたエラーなどでで無理やりセキュリティーほーホールを見つけれる
470デフォルトの名無しさん (ワッチョイ 3580-mGXm)
2025/06/26(木) 17:16:52.94ID:jAlq/lgY0 まず自分の書き込みにAI活用しろよって思った
471デフォルトの名無しさん (JP 0Hab-pT1b)
2025/06/26(木) 18:27:21.16ID:o/InY5NNH 藁
472デフォルトの名無しさん (ワッチョイ 23b7-S6wV)
2025/06/26(木) 21:29:08.64ID: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のみで会話できるようになる
ボイス・トォ・スカル「神や幽霊」の声はこれで行っているのか?
マクロ機能の拡張でインターネットにも自動で書き込みが可能になる
https://gigazine.net/news/20250626-cactus-chat-android-ios-ai-local/
インターネット接続不要でAIモデルをローカル実行できる「LM Studio」にMCPサーバーへの接続機能が追加される
https://gigazine.net/news/20250626-lmstudio-mcp/
上記のAIとマクロ機能を使用すればAIのみで会話できるようになる
ボイス・トォ・スカル「神や幽霊」の声はこれで行っているのか?
マクロ機能の拡張でインターネットにも自動で書き込みが可能になる
473デフォルトの名無しさん (スプープ Sd43-WIQI)
2025/06/26(木) 22:43:52.27ID:CNaMzIfEd スレ違い。
474デフォルトの名無しさん (JP 0Hab-pT1b)
2025/06/28(土) 01:04:10.64ID:ILdMmS8aH gcc4.6から4倍精度入ってるみたいですねえ。
Visual C++では入っているかな。調べてみます。
Visual C++では入っているかな。調べてみます。
475デフォルトの名無しさん (ワッチョイ 55a6-WIQI)
2025/06/28(土) 01:17:47.38ID:Ewd2t68S0 fortranで使うからね
gccはバックエンドから対応する必要がある機能を他フロントエンドのために入れるときはほぼC言語にも拡張として入れてくる
gccはバックエンドから対応する必要がある機能を他フロントエンドのために入れるときはほぼC言語にも拡張として入れてくる
476デフォルトの名無しさん (ワッチョイ d5d6-WswN)
2025/06/28(土) 07:36:59.43ID:7fEtq2hP0 新たなクラスを作ってまえばいいのではないでしょうか。
477デフォルトの名無しさん (JP 0Hab-pT1b)
2025/06/28(土) 10:51:00.28ID:ILdMmS8aH C++23からfloat128_tがサポート予定だけど
まだ詳細は決まってなさそう
VS2022ではまだみたい。gccも13.0以降?
まだ詳細は決まってなさそう
VS2022ではまだみたい。gccも13.0以降?
478デフォルトの名無しさん (ワッチョイ 9bc2-SN7F)
2025/06/28(土) 15:20:29.63ID:CPXhvy7f0 >>477
MSのサポート掲示板だかコミュニティBBSだでVSは128_tやる気なし(一応要望は受け付けるけど)、みたいなの読んだ気がする。
MSのサポート掲示板だかコミュニティBBSだでVSは128_tやる気なし(一応要望は受け付けるけど)、みたいなの読んだ気がする。
479はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 8d32-RyDx)
2025/06/28(土) 15:55:10.80ID:mCCHdrx+0 C++23 では「そのような型があるなら std::float128_t として提供されることもある」というオプショナルなもので、あまりあてにならない。
https://timsong-cpp.github.io/cppwp/n4950/basic.extended.fp#4
ハードウェアとかツールチェインとかの都合もあるだろうし。
https://timsong-cpp.github.io/cppwp/n4950/basic.extended.fp#4
ハードウェアとかツールチェインとかの都合もあるだろうし。
480デフォルトの名無しさん (JP 0Hab-pT1b)
2025/06/28(土) 16:00:47.16ID:ILdMmS8aH うーむ。残念
481はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 8d32-RyDx)
2025/06/28(土) 16:13:42.13ID:mCCHdrx+0 std::float128_t が提供されるときは拡張浮動小数点型 (extended floating-point type) でなけりゃならないみたいだからクラスとして定義できない。
482デフォルトの名無しさん (ワッチョイ 8d7c-BujW)
2025/06/28(土) 16:59:30.25ID:VJLy78nc0 float128_tがあってもFLT_MAXは64ビットという闇
483はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 8d32-RyDx)
2025/06/28(土) 18:19:57.03ID:mCCHdrx+0 >>482
??? float128_t と FLT_MAX にどのような関係があるのか意味が分からない。
??? float128_t と FLT_MAX にどのような関係があるのか意味が分からない。
484デフォルトの名無しさん (ワッチョイ 23f0-WswN)
2025/06/28(土) 18:26:24.23ID:uZW6Klue0 float 4バイトだろ 32ビットだぞ
485はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 8d32-ukKJ)
2025/06/28(土) 19:30:31.51ID:mCCHdrx+0 float が 4 バイトなのに 8 バイト相当な値が FLT_MAX として定義されている (言語仕様に準拠していない) 環境があるという意味?
486デフォルトの名無しさん (ワッチョイ 55a6-WIQI)
2025/06/28(土) 19:40:49.68ID:Ewd2t68S0 最大の浮動小数点型を表す定数のどれかと間違えたんでしょ
__int128があってもintmax_tが64ビットのままみたいな話のfloat版のつもりだったと思う
__int128があってもintmax_tが64ビットのままみたいな話のfloat版のつもりだったと思う
487デフォルトの名無しさん (JP 0H8e-mQSl)
2025/06/29(日) 08:57:18.64ID:9LYz8h1TH インターネットからファイルをダウンロードするのに、現在のc界隈ではどんなライブラリを使用してるの?
vc2010あたりなら、標準で使えていたけど今でも使えるのかしら?
vc2010あたりなら、標準で使えていたけど今でも使えるのかしら?
488デフォルトの名無しさん (ワッチョイ 06a1-6mIp)
2025/06/29(日) 10:59:10.19ID:zQA4sk9y0 ちょっ質問なのですが
class Fooの中で構造体型PrivateStructがprivateな型として定義されており、
PrivateStruct型のFooのprivateなメンバFoo::m_stもある状況に対し、
Fooの外でauto&でもってPrivateStructの型を使用できて、
あまつさえFoo::m_stの値を読んだり書いたりできたりしてカプセル化神話が崩壊したんだけど
これっておま環?
(コード)
https://ideone.com/slBA72
class Fooの中で構造体型PrivateStructがprivateな型として定義されており、
PrivateStruct型のFooのprivateなメンバFoo::m_stもある状況に対し、
Fooの外でauto&でもってPrivateStructの型を使用できて、
あまつさえFoo::m_stの値を読んだり書いたりできたりしてカプセル化神話が崩壊したんだけど
これっておま環?
(コード)
https://ideone.com/slBA72
489はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 7b32-T+w5)
2025/06/29(日) 12:56:56.18ID:RnCZLFSE0 >>487
Windows が前提なら WinINet を使うのが素直なやり方だと思う。
規格の多少の更新などがあっても OS の側で対処してくれるからアプリケーションはリビルドする必要すらなく長期的に使えることが期待できる。
マルチプラットフォームを考えるなら Curl が楽かなぁ……。
Windows が前提なら WinINet を使うのが素直なやり方だと思う。
規格の多少の更新などがあっても OS の側で対処してくれるからアプリケーションはリビルドする必要すらなく長期的に使えることが期待できる。
マルチプラットフォームを考えるなら Curl が楽かなぁ……。
490はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 7b32-T+w5)
2025/06/29(日) 13:04:25.17ID:RnCZLFSE0 >>488
アクセス指定は識別子の可視性であって、間接的なアクセスも含めた一切の利用を禁止するわけではないよ。
アクセス指定は識別子の可視性であって、間接的なアクセスも含めた一切の利用を禁止するわけではないよ。
491デフォルトの名無しさん (ワッチョイ 06a1-6mIp)
2025/06/29(日) 13:14:06.51ID:zQA4sk9y0 上のコードの
>auto& st = x.refStruct(); // stはFooのprivateな型だがビルドが通る。
が識別子PrivateStructの可視性を無視してくれる理由がわからんぬ……
これ
>PrivateStruct& st = x.refStruct();
と書いたら型の名前PrivateStructの可視性がprivateなのでもちろんエラーになる
>auto& st = x.refStruct(); // stはFooのprivateな型だがビルドが通る。
が識別子PrivateStructの可視性を無視してくれる理由がわからんぬ……
これ
>PrivateStruct& st = x.refStruct();
と書いたら型の名前PrivateStructの可視性がprivateなのでもちろんエラーになる
492デフォルトの名無しさん (ワッチョイ 06a1-6mIp)
2025/06/29(日) 13:18:58.11ID:zQA4sk9y0 訂正orz
×: >PrivateStruct& st = x.refStruct();
○: >Foo::PrivateStruct& st = x.refStruct();
×: >PrivateStruct& st = x.refStruct();
○: >Foo::PrivateStruct& st = x.refStruct();
493はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 7b32-T+w5)
2025/06/29(日) 13:37:38.54ID:RnCZLFSE0 >>491
> 識別子PrivateStructの可視性を無視してくれる理由
識別子 PrivateStruct を使っていないから。
この場合は x.refStruct() という式から型を推論するので型名 (であるような識別子) の可視性は関係ない。
プライベートなデータメンバ m_st だってその参照を外へ持ち出してるだろ。
外で m_st という名前でアクセスできないが m_st に対応するオブジェクトへのアクセスは (アクセス経路があるなら) アクセス指定に左右されない。
同様に、プライベートに定義した型を型名ではアクセスできないが型を使えないわけではない。
> 識別子PrivateStructの可視性を無視してくれる理由
識別子 PrivateStruct を使っていないから。
この場合は x.refStruct() という式から型を推論するので型名 (であるような識別子) の可視性は関係ない。
プライベートなデータメンバ m_st だってその参照を外へ持ち出してるだろ。
外で m_st という名前でアクセスできないが m_st に対応するオブジェクトへのアクセスは (アクセス経路があるなら) アクセス指定に左右されない。
同様に、プライベートに定義した型を型名ではアクセスできないが型を使えないわけではない。
494デフォルトの名無しさん (ワッチョイ 06a1-6mIp)
2025/06/29(日) 13:59:10.64ID:zQA4sk9y0 >識別子 PrivateStruct を使っていないから。
>この場合は x.refStruct() という式から型を推論するので型名 (であるような識別子) の可視性は関係ない。
なんで?
不完全な型の参照はエラーになるのだから
コンパイラは型推論の際Foo::PrivateStructという完全な型の情報まで突き止めているはず……
なんでFoo::PrivateStructの可視性を無視してくれるのや……
無視せずエラーにする言語仕様もあり得たはず
ていうかエラーにならないのがおま環でない証拠がいまのところ無い……
>この場合は x.refStruct() という式から型を推論するので型名 (であるような識別子) の可視性は関係ない。
なんで?
不完全な型の参照はエラーになるのだから
コンパイラは型推論の際Foo::PrivateStructという完全な型の情報まで突き止めているはず……
なんでFoo::PrivateStructの可視性を無視してくれるのや……
無視せずエラーにする言語仕様もあり得たはず
ていうかエラーにならないのがおま環でない証拠がいまのところ無い……
495はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 7b32-T+w5)
2025/06/29(日) 14:09:12.19ID:RnCZLFSE0496デフォルトの名無しさん (ワッチョイ 42dd-95xj)
2025/06/29(日) 15:12:39.04ID:FAAHlPSo0497デフォルトの名無しさん (ワッチョイ d7ad-DFSU)
2025/06/29(日) 15:29:55.25ID:PWOccKtm0 プライベートメンバーの参照を返す関数を public でアクセスできる設計の方が驚き
498はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 7b32-0lSL)
2025/06/29(日) 15:52:20.20ID:RnCZLFSE0 >>497
これ単体で見るとおかしいがプロキシパターンなどでそういう構成になることはある。
これ単体で見るとおかしいがプロキシパターンなどでそういう構成になることはある。
499はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 7b32-0lSL)
2025/06/29(日) 16:51:17.70ID:RnCZLFSE0 すまん。プロクシパターンではないな。
見当違いなことを書いてた。
まあこの場合は言語機能の確認のサンプルだと思うから設計がどうこうはあまり気にしなくていいんじゃね。
見当違いなことを書いてた。
まあこの場合は言語機能の確認のサンプルだと思うから設計がどうこうはあまり気にしなくていいんじゃね。
500デフォルトの名無しさん (アウアウウー Sabb-BfA2)
2025/06/29(日) 19:25:35.84ID:TdQ2JxNKa たしかに直感的には auto で private な型を推論してしまうのはヤバくね?という感覚になってしまうが
続くレスで指摘されてるとおり private な識別子だからといって外に持ち出せないわけではないので(それを禁止するほうが弊害が大きい)
そういうもんだと思ってプログラマが注意するしかないな
元々 C++ はやり方次第で言語仕様の本来の目的を外れたヤバい方法がいくらでもつかえる言語であり
どんな場面でも常にプログラマは注意を払うべきなので、そういう C++ の"性格"がこの場面でも出たというところか
こういうのがどうしても気になり完全な"性格"の言語が欲しいなら、他の言語にいったほうがよい
続くレスで指摘されてるとおり private な識別子だからといって外に持ち出せないわけではないので(それを禁止するほうが弊害が大きい)
そういうもんだと思ってプログラマが注意するしかないな
元々 C++ はやり方次第で言語仕様の本来の目的を外れたヤバい方法がいくらでもつかえる言語であり
どんな場面でも常にプログラマは注意を払うべきなので、そういう C++ の"性格"がこの場面でも出たというところか
こういうのがどうしても気になり完全な"性格"の言語が欲しいなら、他の言語にいったほうがよい
501デフォルトの名無しさん (オイコラミネオ MM6b-fGW2)
2025/06/29(日) 19:47:06.28ID:ivfL45vHM502デフォルトの名無しさん (ワッチョイ 8e1a-9Qg/)
2025/06/30(月) 19:44:03.19ID: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の部分を簡潔な表記にする方法はありますでしょうか
例えば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の部分を簡潔な表記にする方法はありますでしょうか
503デフォルトの名無しさん (ワッチョイ e794-iZCu)
2025/06/30(月) 20:47:28.37ID:CUK0Fuvn0 namespace pqrs = P::Q::R::S
でいいんじゃない?
でいいんじゃない?
504デフォルトの名無しさん (ワッチョイ 7b7c-9nZq)
2025/07/01(火) 21:41:31.12ID:W7Fp4vWi0 Sしか使わないならusing P::Q::R::S;
505はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 7b32-0lSL)
2025/07/01(火) 22:22:06.69ID:kHEih0Y20 >>504
using P::Q::R::S; したらもしも using namespace A::B::C; したときに P::Q::R::S も探索対象になってしまう。
使う側に余計な影響を与えないようにするには別名をつけるほうがより良い。
using P::Q::R::S; したらもしも using namespace A::B::C; したときに P::Q::R::S も探索対象になってしまう。
使う側に余計な影響を与えないようにするには別名をつけるほうがより良い。
506デフォルトの名無しさん (ワッチョイ 3641-ctb7)
2025/07/03(木) 00:24:37.09ID:ye5zZInN0 エンベデッド分野は今でもC/C++が主流なの?
AIに任せられない分野だから生きのこれそうで気になっておりまする
AIに任せられない分野だから生きのこれそうで気になっておりまする
507デフォルトの名無しさん (アウアウウー Sabb-H9/A)
2025/07/03(木) 09:26:35.93ID:q23h/8z8a 良いんじゃね
508はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 4730-0lSL)
2025/07/03(木) 11:06:49.67ID:4Hn86Ej50 >>506
組み込みシステムも多様なので性質や規模によるでしょ。
リアルタイム性が重要なところでは C/C++ は主流のままだと思うけど、プロジェクト全体が C/C++ だけで構成されることは少なくなるんじゃない?
組み込みシステムも多様なので性質や規模によるでしょ。
リアルタイム性が重要なところでは C/C++ は主流のままだと思うけど、プロジェクト全体が C/C++ だけで構成されることは少なくなるんじゃない?
509デフォルトの名無しさん (ワッチョイ 420e-vr7j)
2025/07/03(木) 11:57:31.86ID:0Ka09OV10 リアルタイム性はOSがやることだし
言語関係ないよ
言語関係ないよ
510デフォルトの名無しさん (ワッチョイ e79a-0q56)
2025/07/03(木) 12:22:21.27ID:dQk6sKVB0 Javaや.NETはGCでストップ・ザ・ワールドが発生するからリアルタイムに弱いらしい
最近は目標停止時間を1ms以下に抑えるGCもあるけど、あくまでも目標であって保証ではないからね
最近は目標停止時間を1ms以下に抑えるGCもあるけど、あくまでも目標であって保証ではないからね
511デフォルトの名無しさん (ワッチョイ 4e5f-nkZs)
2025/07/03(木) 15:27:43.14ID:d0nwmVKl0 >>509
イベントスレッドでIOされてもOSがなんとかすると思ってんの?
イベントスレッドでIOされてもOSがなんとかすると思ってんの?
512デフォルトの名無しさん (アウアウウー Sabb-H9/A)
2025/07/04(金) 08:50:43.54ID:fF3rQ1JLa 組み込み
リアルタイムOS
これほど曖昧な言い回しは他に無い
リアルタイムOS
これほど曖昧な言い回しは他に無い
513はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 7b32-0lSL)
2025/07/04(金) 10:17:03.12ID:wZ441BSd0 >>509
リアルタイム性が重要なところというのはまさにそのリアルタイム OS のことで、それらを書くのに C/C++ が主流という話なんやで。
そんで既存の OS を使う場合でも次にアプリケーションを用意すれば動くというわけではなくて、組み込みシステムなら大抵の場合にデバイスドライバも書かなければいけないし、 OS が面倒みてくれる範囲は小さい。
低レイヤの整備がすでに整っている状況ならアプリケーションはもうちょっと言語の選択肢はあるかもね。
リアルタイム性が重要なところというのはまさにそのリアルタイム OS のことで、それらを書くのに C/C++ が主流という話なんやで。
そんで既存の OS を使う場合でも次にアプリケーションを用意すれば動くというわけではなくて、組み込みシステムなら大抵の場合にデバイスドライバも書かなければいけないし、 OS が面倒みてくれる範囲は小さい。
低レイヤの整備がすでに整っている状況ならアプリケーションはもうちょっと言語の選択肢はあるかもね。
514デフォルトの名無しさん (ワッチョイ a332-vr7j)
2025/07/04(金) 10:58:10.60ID:8a61AjkK0 リアルタイムOSでないOSで、リアルタイム性重視ならそうだが
リアルタイムOSで作るなら言語は何でもいい
リアルタイムOSで作るなら言語は何でもいい
515デフォルトの名無しさん (ワッチョイ a332-vr7j)
2025/07/04(金) 10:59:28.16ID:8a61AjkK0 例えば24時間365日止まってはいけない産業用制御なんて
C++でも何でもない
C++でも何でもない
516デフォルトの名無しさん (ワッチョイ 6fd6-sHGY)
2025/07/04(金) 11:09:00.86ID:7dTC+3QP0 シェルで済むならシェルにしなさい。(UNIX)
517デフォルトの名無しさん (ワッチョイ 4ef9-nkZs)
2025/07/04(金) 11:13:55.32ID:lC93JhvQ0 言語なんでもいいって?
リアルタイムOSってそもそも言語の選択肢少ねーだろ
リアルタイムOSってそもそも言語の選択肢少ねーだろ
518デフォルトの名無しさん (ワッチョイ 4ef9-nkZs)
2025/07/04(金) 11:19:04.05ID:lC93JhvQ0519デフォルトの名無しさん (ワッチョイ 06a1-6mIp)
2025/07/04(金) 20:28:14.57ID:wNUogzY00520デフォルトの名無しさん (ワッチョイ 06a1-6mIp)
2025/07/04(金) 20:39:26.88ID:wNUogzY00 >24時間365日止まってはいけない産業用制御
冗長構成かフェイルオーバーするような枠組みとしての取り組みが第一優先な希ガス……
ソフトウェアーの冪等性により同じバグが同じタイミングで発生して冗長構成が無意味化するする危険性については
十分テストしてバグを撮ったのちに起動タイミングをずらすなどの工夫を行えばポアソン分布の同時確率か何かに従って無視できうる(と思う
さすがに原子炉の制御とかだとプロセス単体も形式検証して他分野よりもっと十分検証するらしい(間接伝聞
冗長構成かフェイルオーバーするような枠組みとしての取り組みが第一優先な希ガス……
ソフトウェアーの冪等性により同じバグが同じタイミングで発生して冗長構成が無意味化するする危険性については
十分テストしてバグを撮ったのちに起動タイミングをずらすなどの工夫を行えばポアソン分布の同時確率か何かに従って無視できうる(と思う
さすがに原子炉の制御とかだとプロセス単体も形式検証して他分野よりもっと十分検証するらしい(間接伝聞
521デフォルトの名無しさん (ワッチョイ eb86-SoaL)
2025/07/05(土) 12:14:15.08ID:JEWbe+UQ0 そんなレベルはラダー図で書くやろ
522デフォルトの名無しさん (ブーイモ MM8e-nkZs)
2025/07/05(土) 12:31:12.20ID:yj3snSzGM というかリアルタイムOSの話から関係ない24/365システムの話を出すあたりよくわかってないことを雰囲気で話すタイプの人でしょ
523デフォルトの名無しさん (ワッチョイ af77-vr7j)
2025/07/05(土) 20:19:54.08ID:iY4IPiMb0 >>521
C++ではないわな
C++ではないわな
524デフォルトの名無しさん (ワッチョイ ffa1-BzvG)
2025/07/06(日) 06:14:16.80ID: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
ケース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
525デフォルトの名無しさん (ワッチョイ ffa1-BzvG)
2025/07/06(日) 06:16:00.70ID:B20RUTJT0 確認用サンプルコード:
https://ideone.com/Guifzs
https://ideone.com/Guifzs
526デフォルトの名無しさん (ワッチョイ ffa1-BzvG)
2025/07/06(日) 06:47:52.68ID:B20RUTJT0 とりま上のコードからフォークしたソースコード
https://ideone.com/4WPZtB
の
parse_as_string_with_common_logic(std::istream& is, std::string& s, bool& bErr)
みたいな判定処理にしたらケースB、Cを共通に扱えるような印象
なのですが正しくはどうすればよいかわからん……
https://ideone.com/4WPZtB
の
parse_as_string_with_common_logic(std::istream& is, std::string& s, bool& bErr)
みたいな判定処理にしたらケースB、Cを共通に扱えるような印象
なのですが正しくはどうすればよいかわからん……
527デフォルトの名無しさん (ワッチョイ 17a6-aNVA)
2025/07/06(日) 07:26:05.90ID:oIAQiRlj0 一般的な話ならchar以外の>>で一貫した挙動を期待するのに無理がある
期待した文字が来なかったらungetするかどうか?ファイル最後の改行をどうするか?シグナルが来たら?とか色々あるし
ケースBで言えば"B"の後に文字が続いていればs2に含まないといけないのだから内部的にはケースAで言えばc3まで試し済みの状態
EOFフラグを見るのではなく例外で受け取ったほうが確実
期待した文字が来なかったらungetするかどうか?ファイル最後の改行をどうするか?シグナルが来たら?とか色々あるし
ケースBで言えば"B"の後に文字が続いていればs2に含まないといけないのだから内部的にはケースAで言えばc3まで試し済みの状態
EOFフラグを見るのではなく例外で受け取ったほうが確実
528デフォルトの名無しさん (アウアウウー Sa9b-zcFv)
2025/07/06(日) 10:18:34.40ID:RFZXbMVga ケースB、Cを共通に扱える
ist.eof()でいいやん
Bが一回余分にループするのは気持ち悪いけど
気にしたら負け
ist.eof()でいいやん
Bが一回余分にループするのは気持ち悪いけど
気にしたら負け
529デフォルトの名無しさん (ワッチョイ 1f7f-Wka8)
2025/07/06(日) 10:53:22.37ID:14zTNASB0 普通はoperator bool(または fail())を使う
530デフォルトの名無しさん (ワッチョイ ffa1-BzvG)
2025/07/06(日) 10:56:09.61ID: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
だいたいわかりた
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
531デフォルトの名無しさん (ワッチョイ ffa1-BzvG)
2025/07/06(日) 11:00:55.07ID:B20RUTJT0532デフォルトの名無しさん (ワッチョイ ffa1-BzvG)
2025/07/06(日) 11:06:26.76ID:B20RUTJT0 ごめoperator boolは!is.fail()やった……orz
533デフォルトの名無しさん (ワッチョイ ffa1-BzvG)
2025/07/06(日) 11:24:16.88ID:B20RUTJT0 二転三転してすまんこ考えを改めたはサーセン……orz
入力ストリームはシリアルポートみたいな途中で入力がブチ切れる危険性があるブツである
こともあるから、
ケースB) (空白) (非空白文字列の期待する全体)
ケースB') (空白) (非空白文字列が受信タイムアウトにより途中で切れたもの)
の区別が!isになったというだけでは区別がつかない。一方、
(空白) (非空白文字列) (空白)
まで受け取ったら、(非空白文字列) がタイムアウトにより途中で切れたものでないことが確実となりワカル
故に、ケースBやB'みたいな条件を扱うこと自体がライブラリの仕様想定外なのかもしれん……
通常のテキスト読み込みでは行末に改行文字(空白文字のうち)が1文字以上あるから、この枠内で話が収まる。
Unixみたいに改行文字が '\n' 1文字だけな環境で、改行文字を読み飛ばして
呼び出し元に返さないgetline()みたいなやつで読んだ結果を
istringstreamしようとするとケースBが顕在化するが、
この場合は強制的に末尾に空白文字を付けることができうる
そうすればケースBは発生しない(ただし空白文字を付け忘れるとバグ
入力ストリームはシリアルポートみたいな途中で入力がブチ切れる危険性があるブツである
こともあるから、
ケースB) (空白) (非空白文字列の期待する全体)
ケースB') (空白) (非空白文字列が受信タイムアウトにより途中で切れたもの)
の区別が!isになったというだけでは区別がつかない。一方、
(空白) (非空白文字列) (空白)
まで受け取ったら、(非空白文字列) がタイムアウトにより途中で切れたものでないことが確実となりワカル
故に、ケースBやB'みたいな条件を扱うこと自体がライブラリの仕様想定外なのかもしれん……
通常のテキスト読み込みでは行末に改行文字(空白文字のうち)が1文字以上あるから、この枠内で話が収まる。
Unixみたいに改行文字が '\n' 1文字だけな環境で、改行文字を読み飛ばして
呼び出し元に返さないgetline()みたいなやつで読んだ結果を
istringstreamしようとするとケースBが顕在化するが、
この場合は強制的に末尾に空白文字を付けることができうる
そうすればケースBは発生しない(ただし空白文字を付け忘れるとバグ
534デフォルトの名無しさん (ワッチョイ 377c-ZLf6)
2025/07/06(日) 11:56:43.72ID:wbQZP2jZ0 iostreamなんかをテキストの厳格なパースなんかに使わなければならない理由から考え直した方がいい
535デフォルトの名無しさん (アウアウウー Sa9b-zcFv)
2025/07/06(日) 12:20:19.64ID:RFZXbMVga 末尾で改行無しでeofが来るファイルは多い
536デフォルトの名無しさん (ワッチョイ ffa1-BzvG)
2025/07/06(日) 12:43:07.86ID:B20RUTJT0 >>529
ゴメ operator std::istream::bool() か std::istream::fail() だけでとりま解決したわスマンカッタorz
https://ideone.com/Fd5zV6
オンメモリのストリームである std::istringstream であっても>>533のケースB'に当たるケース
(オンメモリなので非空白文字列でデータが終わっている場合)においてbadbitがセットされるっぽい
この挙動がおま環でないかどうかはわからん……
ゴメ operator std::istream::bool() か std::istream::fail() だけでとりま解決したわスマンカッタorz
https://ideone.com/Fd5zV6
オンメモリのストリームである std::istringstream であっても>>533のケースB'に当たるケース
(オンメモリなので非空白文字列でデータが終わっている場合)においてbadbitがセットされるっぽい
この挙動がおま環でないかどうかはわからん……
537デフォルトの名無しさん (ワッチョイ ffa1-BzvG)
2025/07/06(日) 12:47:26.46ID:B20RUTJT0 >>534
いまさらlex的な処理をgetc()で手で書いたりstrtok()に戻ったりしたくないし……
いまさらlex的な処理をgetc()で手で書いたりstrtok()に戻ったりしたくないし……
538はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 3732-D1Zn)
2025/07/06(日) 13:40:09.19ID:VHUnBvW80 パーサコンビネータ的なものを先に作るのがモダンな方法だが……。
汚い部分を抽象の向こうに押し込めるだけなので汚さが無くなるわけではない。
小さい規模だと愚直な方法が楽だったりするよ。
汚い部分を抽象の向こうに押し込めるだけなので汚さが無くなるわけではない。
小さい規模だと愚直な方法が楽だったりするよ。
539デフォルトの名無しさん (ワッチョイ 576b-4VWQ)
2025/07/10(木) 15:17:59.65ID:pWdjbLc50 C++を勉強して思ったのが
C++って基底クラスをリストに登録させて
派生クラスの機能をひたすら実行させることに特化してるように思うのだけどこの考え方で合ってる?
要はリストありきな感じ
C++って基底クラスをリストに登録させて
派生クラスの機能をひたすら実行させることに特化してるように思うのだけどこの考え方で合ってる?
要はリストありきな感じ
540はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 3732-SsbA)
2025/07/10(木) 15:54:02.04ID:UMLMi9p20 >>539
ゲームのフレームワークでは全てのエンティティを登録してそれに対する更新を繰り返すというモデルがありふれているが、 C++ 的にそれが普通というわけではない。
ゲームのフレームワークでは全てのエンティティを登録してそれに対する更新を繰り返すというモデルがありふれているが、 C++ 的にそれが普通というわけではない。
541デフォルトの名無しさん (ワッチョイ bfad-3agI)
2025/07/10(木) 16:45:53.90ID:1drjG1ps0 >>539
一度デバッガで実行をトレースしてみ?
一度デバッガで実行をトレースしてみ?
542デフォルトの名無しさん (ワッチョイ 9f88-D0JT)
2025/07/10(木) 18:55:50.32ID:y21Xxg220543デフォルトの名無しさん (ワッチョイ 576b-4VWQ)
2025/07/10(木) 21:11:59.82ID:pWdjbLc50 >>540-541
ありがとうございます
リストを自作するなりstd::listを使うなりして
printfみたいな文字出力をする時も、出力部分をタスククラスにぶっこんでラッピングして
出力は派生クラスでオーバーライドしたc->draw();みたいなのに任せる、というのはゲーム専用で他ではあまりされないんですね
ありがとうございます
リストを自作するなりstd::listを使うなりして
printfみたいな文字出力をする時も、出力部分をタスククラスにぶっこんでラッピングして
出力は派生クラスでオーバーライドしたc->draw();みたいなのに任せる、というのはゲーム専用で他ではあまりされないんですね
544はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 176c-SsbA)
2025/07/11(金) 01:51:13.39ID:/nWuXYnL0 C++ は設計理念のひとつとして「人に何かを強制しない」というのを挙げていて、やりたいように書けることを重視してる。
同じパターンでプログラムを書いているように感じるなら単にあなたがそのやり方しか知らないだけ。
分野ごとに大枠ではやりやすいパターンが定着していたりはするので、ひとつの分野だけ見ていると頻出パターンがあるように見えることはあるかも。
同じパターンでプログラムを書いているように感じるなら単にあなたがそのやり方しか知らないだけ。
分野ごとに大枠ではやりやすいパターンが定着していたりはするので、ひとつの分野だけ見ていると頻出パターンがあるように見えることはあるかも。
545デフォルトの名無しさん (ワッチョイ 9f15-sH2C)
2025/07/11(金) 11:58:09.09ID:nUxw0t1Z0 BASICも同様の理念で作ればいいのに
546デフォルトの名無しさん (ワッチョイ bff3-4Q3H)
2025/07/11(金) 12:28:00.28ID:36pXyECQ0 >>544
Z世代にはRuby on RailsやRustのほうが良いかもしれませんね
Z世代にはRuby on RailsやRustのほうが良いかもしれませんね
547デフォルトの名無しさん (スフッ Sdbf-zcFv)
2025/07/11(金) 14:36:44.91ID:zLrVPFvnd >>543
RustのDisplayやDebugなんてまさにそれだが
RustのDisplayやDebugなんてまさにそれだが
548デフォルトの名無しさん (ワッチョイ 1fb7-p46g)
2025/07/12(土) 13:34:42.02ID:Y1veRsrW0 C++でデフォルトコンストラクタで確保したリソースだけデストラクタで破棄したくてコピーコンストラクタやコピー代入ムーブコンストラクタやムーブ代入で得たリソースはデストラクタで破棄させたくないときどうする?
rustみたいな所有権システム必要になるんですか?
rustみたいな所有権システム必要になるんですか?
549デフォルトの名無しさん (ワッチョイ f74e-Wka8)
2025/07/12(土) 14:19:56.77ID:tjRcyRc80 なんでそんなことが必要なのかわからないけど、破棄するかどうかのフラグを持っておけばいいんじゃないの?
設計から見直した方が良いようなきがするけどw
設計から見直した方が良いようなきがするけどw
レスを投稿する
ニュース
- 橋下徹氏 外務省幹部の訪中受け「口だけ番長」へ痛烈指摘 「喧嘩は日本の完敗…なんとかっこ悪い日本か」 [冬月記者★]
- 【外国人問題】小野田紀美担当相「不法就労や不法滞在は許さない」 [シャチ★]
- 【野球】井端監督 大谷翔平、山本由伸らのWBCへの参加 「1日も早く返事ほしい」「待っててといっても、国内組が遅くなってしまう」★3 [冬月記者★]
- 経団連会長、日中は建設的対話を 経済3団体が高市首相と初会談も日中関係は話題に登らず… [BFU★]
- 中国で「クレしん」公開延期 対日報復、エンタメに波及 [蚤の市★]
- 東京株式市場 インバウンド関連株が下落 中国政府の渡航自粛要請で [バイト歴50年★]
- 🏡
- 有識者「高市総理が発言を撤回したり、辞職するしかないと言っている人は、それで日中関係が今まで通りになると思ってる?」 [834922174]
- 飲みの約束だるい
- 減税は低所得者差別
- 高市さんに土下座してもらったら一発解決なのに何でやらないんだろ??
- 元無職「お世話になりました」
