Weekly PPP Vol.58 | Programming Place Plus Weekly PPP

トップページWeekly PPP

Weekly PPP Vol.58 (~2026/1/2) 🔗

当サイトで扱っているテーマやそれに近しい分野から、直近1週間ぐらいの Web記事や書籍などの情報を紹介します。管理者が目を通したタイミングが遅いこともあるので、実際に公開された時期はもっと古い可能性があります。

「難易度」は、「入門」「初級」「中級」「上級」の4段階で、大体以下のような感覚で割り当てています。

当サイトで扱っているテーマから外れた情報については、Xはてなブックマークで扱っています。

本ページはアフィリエイトプログラムによる収益を得ています。ページ内のリンクから、各種販売サイトに移動して商品を購入されると、Programming Place 管理者に紹介料が支払われます。



bit_castマクロ for C言語 - yohhoyの日記 🔗

C++ の std::bit_cast関数テンプレートに相当するものを、C言語でマクロとして実装する方法を紹介しています。

std::bit_cast は、C++20 で導入された型変換のための関数テンプレートで、ビットのパターンをそのまま再解釈するキャストを行うものです。

関連ページ

プログラムは main から始まるわけではない 🔗

よく、C言語プログラムの実行開始地点として説明される main関数だが、実際にはさらに手前にいくつかの処理が存在していることを紹介しています。

列挙値(enum)から文字列への変換 in C++26 🔗

C++ で、面倒な手作業を行なっていた enum型の値を文字列化する方法について、C++17 時代の Magic Enum ライブラリ(標準ではない)による方法を紹介し、さらに C++26 で導入される静的リフレクションを使った方法の解説へと展開しています。

【C++】弾幕STGでの効率的なデータ管理 🔗

C++ によるシューティングゲームのプログラムで、弾の管理方法を3通り紹介し、メモリ配置の違いによってパフォーマンスに差が現れることを解説しています。

C++20のコルーチンを理解したい #coroutine - Qiita 🔗

C++20 で導入されたコルーチンについて、その基本的な仕組みや使い方を解説しています。

関連ページ

7 Practical std::chrono Calendar Examples (C++20) - C++ Stories 🔗

std::chrono に、C++20 で導入された日付を扱う機能についての英語記事。前回は日付関連の型や演算子、演算などの基本的な構成要素を取り上げていましたが、今回は具体的な使用例を紹介しています。

関連ページ

std::span C++20: When to Use (and NOT Use) for Safe Buffer Passing – Tech For Talk 🔗

C++ で、メモリ上で連続的に並んでいるデータを関数に渡す方法を、原始的な生のポインタ(とサイズ)を使う方法から、std::vector、std::array を使う方法を取り上げたあと、C++20 で導入された std::span による方法を解説しています。特に、新しい方法である std::span について、その仕組みや使い道、使えない場面などを詳しく説明しています。

関連ページ

C++ Weekly - Ep 513 - How Many Ways Can You End a Program? - YouTube 🔗

C++ でプログラムの実行を終了させる、さまざまな方法を紹介しています。未定義動作によって停止するとかは、実際に手段として選べる方法ではないですが。

問題が起こったとき、できるだけすばやく必要な情報を保存し、プログラムを停止させるために、std::quick_exit関数による方法を提案しています。

関連ページ

Software taketh away faster than hardware giveth: Why C++ programmers keep growing fast despite competition, safety, and AI – Sutter’s Mill 🔗

C++ は成長を続けており、開発者の数も増加していることについて、その理由を解説しています。

電力が最大の制約となっている現代のコンピューティングの事情において、ハードウェアを最大限に効率よく活用するための進化の取り組みが継続的に行われている C++ は生きた言語であるとしています。

また、セキュリティ脆弱性の発生率の高さから安全性に対する懸念が指摘されることが多いことについて、セキュリティの問題の多くが特定のプログラミング言語の安全性とは関係がないこと、C++ の問題としてよく取り上げられるメモリ安全性については、標準ライブラリによる改善なども劇的に進んでいることを説明しています。さらに、脆弱性の統計データのほとんどが、C言語と C++ を混同して(合算して)おり、本当に問題になっているのは C++ ではなく C であるとしています。それでも改善すべき点は残っているが、C++26 で導入されるいくつかの機能や変更により、単に既存のコードを C++26 でコンパイルし直すだけでも大幅にセキュリティが向上することを説明しています。

関連ページ

Programming Place の更新履歴 🔗

今週は更新がありませんでした。

過去のすべての更新履歴はこちらから

更新履歴 🔗





はてなブックマーク に保存 Facebook でシェア X で ポストフォロー
LINE で送る noteで書く rss1.0 取得ボタン RSS
管理者情報 プライバシーポリシー
先頭へ戻る