モダンC++

モダンC++(C++11以降)に関する記事とチュートリアル。スマートポインタ、RAII、ムーブセマンティクス、constexpr、安全で効率的なコードのベストプラクティスを含む。

C++開発者の採用:単価、専門領域、見極め方

C++開発者を採用しようという判断は、たいてい具体的な問題を伴って訪れます。何かを速くしなければならない、ハードウェアの上で動かさなければならない、あるいはネイティブのインターフェースしか提供していないライブラリと連携しなければならない、といった事情です。そこから始まる採用活動は、往々にしてC++を単一の技能として扱います。そしてこの前提こそが、期待外れに終わる結果の大半を生み出しています。 C++は一つの職種ではありません。優れたゲームエンジンのプログラマーが組み込みファームウェアではまるで生産的でないことは現実にありますし、低遅延の取引システムの専門家が、生涯グラフィカルなアプリケーションを出荷したことがない場合もあります。三人...

Qt開発者の採用:単価とライセンスの落とし穴

Qt開発者の採用を検討する企業は、たいていブラウザではなく機械の上で動くものを作っています。計器パネル、診断ツール、ほかの誰も対応してくれないハードウェアの制御アプリケーションといった具合です。候補者の母集団はウェブ市場のごく一部にすぎず、使われる語彙も異なり、採用でよく使われる近道は通用しません。「C++」という条件だけで絞り込むリクルーターは、QMLを一行も書いたことのない人を連れてきます。 本稿では、有能なQtエンジニアが実際に何を知っているのか、2026年にこの職がいくらかかるのか、重要なスキルをどう試すのか、そしてコードを一行も書く前に決着させておくべきライセンスの問題を扱います。最後の点こそ、高くつく失敗が起こりやすいと...

C++ vs Rust メモリ安全性 - モダンC++による実践的な比較例

C++とRustのメモリ安全性に関する議論は、ソフトウェアエンジニアリングにおいて最も活発なトピックの一つとなっています。政府機関が見解を示し、カンファレンスでは専用の講演が行われ、双方に強い意見が存在します。 最初にはっきり言っておきます。Rustは素晴らしい言語です。 所有権モデルと借用チェッカーは真に革新的であり、バグの種類をまるごとコンパイル時に検出します。新しいプロジェクトを始めるにあたり、Rustがチームやエコシステムに適しているなら、それは素晴らしい選択です。 同時に、C++は世界で最もパフォーマンスが求められるソフトウェアの根幹であり続けています。オペレーティングシステムのカーネル、ゲームエンジン、ブラウザ、データ...