C++ breaktime 2025/Summer
開催日時
2025年6月20日(金) 19:00~21:05
開催URL
参加人数
26人
オープニング
自由記述欄
思ったことを自由に記述してくださいzbdk.icon
余力があれば以下のヘルプからアイコンを設定して行末にCtrl + iでアイコンを表示してみてくださいzbdk.icon
わいわい Reputeless.icon
VC++のリンクとかライブラリとか(仮)
自由記述欄
ビルドつらい
ライブラリのお試し環境をDockerで提供する、とかもGPLが問題になるというのをどこかで聞きました
X"がXを内包すればと思いましたが、makefileで詰んだ…
R.libのビルド(ライブラリアンを通すとき)にOPTREF:NONEしてデッドコードストリップを無効化すれば・・・と思いましたがR.libはリビルドできないんですね。詰んだ
話の内容で気になったこと
より型安全で明確なエラー処理の実践
自由記述欄
std::expected かな!? Reputeless.icon
丁度使ってリファクタリングしてましたが、コンパイラがC++17になって無駄にorz → Boost!!ありがとうございます知らんかった
expectedのエラー型がstd::stringだと大量にもつと結構重くて、string_viewを持ち運べるようにしたlife_string_viewというのを前に作って仕事で使ってます
発表で紹介されたshared_ptrの方法とだいたいいっしょでした
std::expected<void, E> というパターンもときどき使う Reputeless.icon
設計の一括修正はClaude Codeにやってもらいましょう!
C++ の標準ライブラリで std::optional や std::expected が使われるような時代はくるかなー Reputeless.icon
これかな Reputeless.icon
C++にパターンマッチが入ったらまた事情が変わりそうな気がする
Siv3D での活用例 Reputeless.icon
Rust を真似て template <class Type, class E> using Result = std::expected<Type, E>; してる
std::expected<int32, ParseErrorReason> ParseInt(s);
std::expected<void, size_t> ValidateUTF8(s); // 何文字目でエラーになったか
std::expected<Blob, String> CompileHLSLFromSource(...);
話の内容で気になったこと
Dynamiccast 文字列比較(しなさい)
自称、通りすがりのC++おじさん
自由記述欄
このページって、今日の参加者アクセスできてる?(To: zbdk.icon)
Connpass にリンクある?→あった
wgreeting とか u8greeting とか作られるやつ Reputeless.icon
greeting * create_impl() ← アスタリスクそこ!? Reputeless.icon
dynamic castの中身とか見れるんや
20分経ったけどまだ資料の1/3
このあと 1000 行ぐらいのコードブロックで一気に進むかもしれない Reputeless.icon
こんなデバッグをしたらハゲるなー
nameのアドレス比較するのは気持ちとしてはわかるのですが、typeinfoのアドレスを見るのはダメなんでしょうか(純粋な興味
話の内容で気になったこと
C++20未満でもUTF-8型を使いたかった
自由記述欄
char8_t C++20 からかー。もっと昔からあったような感覚がある Reputeless.icon
char8_tが使えるかどうかを判定するマクロを用意して移行
TBAA!
私は-fno-strict-aliasingでお茶を濁しています(ちゃんとしていて素晴らしいですね、感動しました)
Xcode 16.2 → 16.3 → 16.4 で char_traits 迷走してたなー Reputeless.icon
Siv3D も被害を受けた Reputeless.icon
話の内容で気になったこと
LT枠1「次期 Siv3D で採用した技術」
自由記述欄
本日の資料です。後日清書を公開 Reputeless.icon
質問 ↓ にどうぞ
PCG乱数
すごい普及してる!
学生でゲームと言えばUnity火と思った、国産良いですね
学生のゲーム開発は Unity 圧倒だけど、競プロ(C++)→ ゲーム開発のルートだと Siv3D になるんですよね Reputeless.icon
テストってテスト用のMakefileがありますか? 普段コンパイルするコード内にstatic_assertのテストが入っているわけではないですよね?(constexprでコンパイル時間爆増しそうなのでどのように管理しているのか気になりました
Siv3D エンジンをフルビルドするほうのプロジェクトに入ってるので、一般ユーザが目にすることはないです
コード読みますありがとうございます
趣旨から外れる質問かもしれませんが、Siv3Dをみた時Processingを思い出しました。processingとかはメディアアートよりで気軽にarduinoとシリアル通信できましたが、Siv3Dも容易にarduinoやラズパイと通信しやすかったりしますか?
話の内容で気になったこと
LT枠2「C++20 射影変換」
資料
自由記述欄
特定のメンバ変数の検索とかときどき使う Reputeless.icon
そうそうラムダ式気を付けないといけない Reputeless.icon
便利そう
Proj とか射影、日本人に伝わりにくい表現なのが普及のネックになってる感ある Reputeless.icon
話の内容で気になったこと
クロージング
次回からは時間オーバーしたら鐘鳴らすか