プログラミングC++

プログラミングC++

C++で性能測定(時間測定)する方法 C++11のchronoを使う

性能測定 スループットを測る、つまりある処理の時間を測るのは、プログラムを書いている限りよくあることです。 製品性能が要件を満たしているかを確認する テスト項目に性能があるから 社外で性能がらみの不具合発生 いろいろなところで時間を測ること...
プログラミング

ITエンジニアが知っておくべき不良に強いログ・トレースの出力方法

製品におけるログ・トレースは、ITエンジニア(設計者、開発者)にとって生命線です。 社内のテストのときも有効ですし、社外で不良が出たときも迅速に対処するためにとても必要なことです。 ログ・トレースをどうやって出力すべきかを説明します。C++...
プログラミングC++

ストラウストラップ著【プログラミング言語C++】第4版 C++の聖書か、辞書か、凶器か?

プログラミング言語C++ プログラミング言語C++という本を紹介します。 ストラウストラップが書いた名著(迷著、冥著)です。 C++を愛するプログラマとしては絶対に避けては通れない本で、C++のバイブル(聖書)と呼ばれています。辞書として使...
プログラミングC++

C++におけるSTLアルゴリズムとラムダ式

C++におけるラムダ式の話です。STLのアルゴリズムとからめて使うことが多いので、アルゴリズムとラムダ式をからめて説明します。 STLアルゴリズムもラムダ式もプログラミングをやる上で必須の技術ではありません。 しかし、使えるようになると技術...
プログラミングC++

マジックナンバーを避ける方法 C++編 constとenum class

プログラミングの世界ではマジックナンバーを避けるように言われることが多いです。 C++でどうやって避けるかを説明します。 いくつか方法がありますが、基本的にはconstかenum classを使うのがよいと思います。 マジックナンバー マジ...
プログラミングC++

C++のいろいろなコンテナ vector, list, deque, map,,,こんなにあるの?

C++には値の集まりを処理するためのクラス、つまりコンテナがたくさんあります。 まずは、vector, listくらいを使えるようになっておくとよいです。他は存在を知っておく程度にして使うときに調べるくらいでいいと思います。 C++のコンテ...
プログラミングC++

C++動的配列クラス std::vector入門

プログラミングでは、多くの場面で、値の集まりを作ってその操作を行います。 値の集まりを扱うクラスたちをC++ではコンテナ(container)と呼んでいます。 vector, list, dequeなど多数のコンテナがありますが、最もよく使...
プログラミングC++

新しいビルド方法 CMakeでHelloWorld

C言語が誕生したとき、ほぼ同時にmakeが生まれたようです。 ビルドを自動化するための試みはmakeで終わることなく、続けられた努力は、Autotools (autoconf+automake+libtool)で完成されました。 しかし、洗...
プログラミングC++

HelloWorldへの道 C++編 Windows上のプログラミング環境構築

Windows上で初めてC++でHelloWorldを動作させるまでを説明します。 WSLをインストールし、Makefileを作って、プログラムを書きます。 HellowWorld HelloWorldとは、プログラムの入門書などで最初に書...
プログラミングC++

お手軽なLinux環境 WSL Windows上のLinuxのインストールとファイル連携

ITエンジニアとして、コンパイルする環境を整えるには複数の選択肢があります。 その中でも簡易なWindows上のLinuxであるWSLのインストールと簡単な使い方を説明します。 WSL WSLはWindows Subsystem for L...