当サイトで扱っているテーマやそれに近しい分野から、直近1週間ぐらいの Web記事や書籍などの情報を紹介します。管理者が目を通したタイミングが遅いこともあるので、実際に公開された時期はもっと古い可能性があります。
「難易度」は、「入門」「初級」「中級」「上級」の4段階で、大体以下のような感覚で割り当てています。
当サイトで扱っているテーマから外れた情報については、X やはてなブックマークで扱っています。
本ページはアフィリエイトプログラムによる収益を得ています。ページ内のリンクから、各種販売サイトに移動して商品を購入されると、Programming Place 管理者に紹介料が支払われます。
C++ の std::bit_cast関数テンプレートに相当するものを、C言語でマクロとして実装する方法を紹介しています。
std::bit_cast は、C++20 で導入された型変換のための関数テンプレートで、ビットのパターンをそのまま再解釈するキャストを行うものです。
よく、C言語プログラムの実行開始地点として説明される main関数だが、実際にはさらに手前にいくつかの処理が存在していることを紹介しています。
C++ で、面倒な手作業を行なっていた enum型の値を文字列化する方法について、C++17 時代の Magic Enum ライブラリ(標準ではない)による方法を紹介し、さらに C++26 で導入される静的リフレクションを使った方法の解説へと展開しています。
C++ によるシューティングゲームのプログラムで、弾の管理方法を3通り紹介し、メモリ配置の違いによってパフォーマンスに差が現れることを解説しています。
C++20 で導入されたコルーチンについて、その基本的な仕組みや使い方を解説しています。
std::chrono に、C++20 で導入された日付を扱う機能についての英語記事。前回は日付関連の型や演算子、演算などの基本的な構成要素を取り上げていましたが、今回は具体的な使用例を紹介しています。
C++ で、メモリ上で連続的に並んでいるデータを関数に渡す方法を、原始的な生のポインタ(とサイズ)を使う方法から、std::vector、std::array を使う方法を取り上げたあと、C++20 で導入された std::span による方法を解説しています。特に、新しい方法である std::span について、その仕組みや使い道、使えない場面などを詳しく説明しています。
C++ でプログラムの実行を終了させる、さまざまな方法を紹介しています。未定義動作によって停止するとかは、実際に手段として選べる方法ではないですが。
問題が起こったとき、できるだけすばやく必要な情報を保存し、プログラムを停止させるために、std::quick_exit関数による方法を提案しています。
C++ は成長を続けており、開発者の数も増加していることについて、その理由を解説しています。
電力が最大の制約となっている現代のコンピューティングの事情において、ハードウェアを最大限に効率よく活用するための進化の取り組みが継続的に行われている C++ は生きた言語であるとしています。
また、セキュリティ脆弱性の発生率の高さから安全性に対する懸念が指摘されることが多いことについて、セキュリティの問題の多くが特定のプログラミング言語の安全性とは関係がないこと、C++ の問題としてよく取り上げられるメモリ安全性については、標準ライブラリによる改善なども劇的に進んでいることを説明しています。さらに、脆弱性の統計データのほとんどが、C言語と C++ を混同して(合算して)おり、本当に問題になっているのは C++ ではなく C であるとしています。それでも改善すべき点は残っているが、C++26 で導入されるいくつかの機能や変更により、単に既存のコードを C++26 でコンパイルし直すだけでも大幅にセキュリティが向上することを説明しています。
今週は更新がありませんでした。
| はてなブックマーク に保存 | Facebook でシェア | X で ポスト/フォロー |
| LINE で送る | noteで書く |
|
| 管理者情報 | プライバシーポリシー |