プログラミング原人の進化ログ

プログラミング原人の進化論

オレ プログラミング ベンキョウ スル。マナンダ コト カク。

言語-C/C++

C++の標準ライブラリでソート

C++のソートを、標準ライブラリを使って行う方法のメモです。 主要なソートをだいたい勉強し終えたので、そろそろ車輪の再発明のフェーズを脱しようという意図です。 安定でないソート sortを使います。ヘッダファイルで定義されています。sortはクイックソ…

【C++】コンストラクタのオーバーロード

プロコンの本を読んでいたら、1つのクラスの中にいきなり2つのコンストラクタの定義が出てきたので、なんぞこれと思って調べてみました。勉強した内容をまとめておきます。 コンストラクタのオーバーロード 一般的にオーバーロードとは同じものに対して複…

【C++】フレンド関数

フレンド関数の勉強メモです。基本的な使い方についてです。 フレンド関数 C++ではクラスの外部で定義した関数をクラスのprivateメンバにアクセスできるようにすることができます。 そのような関数をフレンド関数と呼びます。friend修飾子を使ってフレンド関…

【C++】インライン関数

C++にはインライン関数を使う機能があります。その使い方のまとめです。 目標 インライン関数が何者か理解する C++でインライン関数を使えるようになる インライン関数とは? 通常の関数は、呼び出すたびにメモリのどこかに存在するその関数を(関数へのポイ…

【C++】クラスの使い方

C++のクラスの基本的な使いかたについてまとめました。 対象 クラスについての基本的な知識を持っているけど、C++ではどうやって使えばいいの?という人。 やること スタックの実装を通して、C++におけるクラスの実際の使い方を学ぶ。クラスの定義から、コン…

C++でメモリを動的に確保する方法

C++でのメモリの動的確保の方法です。Cではmallocとfreeを使うことが多かったのですが、C++ではnewとdeleteを使います。 それらの使い方を書いていきます。 メモリの確保 メモリの確保はnew演算子で行います。newを使うと、ヒープ領域と呼ばれる空きメモリ領…

C++の標準ライブラリでsetとmapを扱う

C++のSTLで提供されている、setとmapについてメモしておきます。 STLでは複数の要素を扱うコンテナを提供しています。要素の順番の決め方によって、コンテナはシーケンスコンテナと連想コンテナの2つに分類されます。シーケンスコンテナは要素の値に関係な…

【C/C++】ヘッダーファイルの#ifndef ~ #endifの意味

C++のヘッダーファイルを書く機会があって、#ifndefだの#endifだのが登場してなんぞこれとなったので、調べたことを簡単にまとめておきます。 目標 いつまでもおまじないで済ますわけにはいかないので、#ifndef~#endifが何者なのかを理解する。 #ifndef、#en…