C++
皆さんこんにちは おげんきですか?私はげんきです。本日は最速決定戦やります。いやはやC++がはええええとかいいつつ 他の言語どうだっけなんて思う常日頃です。 エントリー 6つの言語で行いました C++,Java,PHP,Python,Ruby,Javascript 種目 アッカーマン…
皆さんこんにちは お元気ですか。私は元気です。さて、今日はBoostの中にある日付管理のライブラリを解説します。現在の日付を表示したり、間の日付を計算したり日付に関する処理を行うことができます。 コンパイルオプション g++ date.cpp -lboost_date_tim…
皆さんこんにちは お元気ですか?やりたいこと、やることが増えすぎて困ってるけど、まぁなんとかなるでしょう。実は以前、C++11でのThreadを紹介させて頂きました。 今回はBoostを使ったMultiThreadを紹介したいと思います。因みにこのライブラリOSが変わっ…
皆さんこんにちは お元気ですか。私は元気です。今日はBoost::Timerについて C++ではc_clockを使うことで時間を計測することができます。 しかし、 Timer 通常の使い方 #include <iostream> #include <cmath> #include <string> #include <boost/timer/timer.hpp> using namespace std; int main(int argc, ch</boost/timer/timer.hpp></string></cmath></iostream>…
皆さんこんにちは お元気ですか。私は元気です。さて、今日はXMLの解析並びに記述を行いたいと思います。 もれなく、boostに解析するライブラリがあります。 XML Parse 解析用XMLファイル <root> <person> <name>山田太郎</name> <address>東京都文京区</address> <gender>漢</gender> <age>42</age> </person> <person> <name>山田花子</name> <address>兵庫県神戸市</address> </person></root>
皆さんこんにちは お元気ですか。私は元気です。さて、今日はBoost Graphについて解説したいと思います。 このグラフはあれですよ、ほら有向グラフとかのグラフで折れ線グラフとかではありません。 グラフを構築する #include <fstream> #include <vector> #include <string> #include <boost/graph/adjacency_list.hpp></boost/graph/adjacency_list.hpp></string></vector></fstream>…
皆さんこんにちは お元気ですか。私は元気です。さて、今日はC++11にあるEnum Classについて解説したいと思います。 enum class Number{ ONE, TWO, THREE, FOUR }; C++にて実装されているenumと比較して classを入れることで実現ができていますね。 使い方は…
皆さんこんにちは お元気ですか。私は元気です。さて、今日は乱数についてC++11では新たに乱数を生成するライブラリが追加されています。 一様分布を作るとき、以前まで線形合同法で作成されていたのが、このライブラリではメルセンヌ・ツイスターなど選択が…
皆さんこんにちは お元気ですか?私は元気です。さて、今回はmutexで使うlockについてまずはこのプログラムを動かしてみましょう。 mutex_lock mutexとは 複数のスレッドで動作させるときに 他に影響を与えたくない場合にロックをかけ、侵入できるスレッドを…
皆さんこんにちは お元気ですか。私は元気です。久々にublasのネタですね。 ところで、boost::ublasで逆行列と行列式を求めたいことありませんか?そこで、ライブラリを探すのですが…実は逆行列と行列式は存在しません。 要はつまり、実装しろと…しかし、逆…
皆さんこんにちは お元気ですか?私はげんきです。今日はコード解析について取り組みたいと思います。 人のソースコードって結構読むの面倒ではないでしょうか?なんか纏めてある書類とかあれば楽なのになぁとか思うことは多々あります。そんな貴方へ贈る今…
皆さんこんにちは お元気ですか。さて、本日は素数を求めてみます。素数とかいう不思議な値がこの世には有ります。普段の生活において何に使うのかよくわかりませんが、プログラミングのコンテストとかで素数を利用した解き方もあるようです。 素数の特徴 計…
皆さんこんにちは お元気ですか。私は元気です。さて、今日はDesignPatternのProxyについて Proxy まぁ何やってても良く聞くワードですが、代理人という意味が篭っています。 自分がない部分の処理を他に移譲します。 無駄にクラスを拡張するなという意味も…
皆さんこんにちは お元気ですか。私はげんきです。さて、今日はC++11に搭載されたthreadについて これが便利なところはOSによって処理を行う関数が異なっていたのを threadライブラリが賄ってくれるという素晴らしきかな。 普通に使う #include <iostream> #include <thread> u</thread></iostream>…
皆さんこんにちは お元気ですか。私は眠いです。さて、今日はconst修飾子の使い方です。 constとは 基本的に内容を書き換えることができないものにつけくわえる修飾子(Javaでいうfinal) なぜこんなのが必要なのでしょうか?変数の値を保証したい時に使いま…
皆さんこんにちは お元気ですか。良いコードってなんだろう。今日はDecoratorと呼ばれるデザインパターンを紹介したいと思います。 Decoratorとは イメージとして基底があって上にのっていくイメージ 機能を追加していくのに便利なデザインパターンですね。 …
皆さんこんにちは お元気ですか?私は元気です。C++11の新機能のArrayについて記載したいと思います。 Array(STL)の特徴 STLのArrayには大きな特徴がひとつあります。 algorithmのヘッダーを使えるので、fillやfindを使えることですね。 実際のソースコード…
皆さんこんにちは お元気ですかたまには面白くフィボナッチ数列をC++で解いてみようかなと思います。 フィボナッチ数列って? 0 1 2 3 5 8 13・・・・・・・となるような結構有名な数列です。 今回3通りの解き方で解いてみたよ 再帰 非常に遅くて有名な再帰…
皆さんこんにちは お元気ですか?私はふるふるしてます。お酒がきついーさて今日、DesignPatternのCompositeです。 CompistePatternとは 「容器と中身を同一視すること」とのことです。実装上では容器と中身のメソッドを統一し、 容器の中に更に容器があるよ…
皆さんこんにちは お元気ですか?私は元気です。さて、今日は関数ポインタについて 関数ポインタの利点 関数ポインタを使うと、テーブルとして関数を引けるので、処理が簡単になります。 例えば以下のようなコードが有ります。(add,mulは定義されているとし…
皆さんこんにちわ お元気ですか?私は元気です。さて、本日はプリプロセッサについて #defineとか#ifdefとかがそれにあたりますね。 一番有名かつ使われてるのはおそらく#includeでしょうか。それらを解説していきましょう。 プリプロセッサって? ソースコ…
皆さんこんにちは お元気ですか。ねむいさて、本日はDesign Patternについて前回までは製造関係のデザインパターンの解説を行っていました。 今回からは構築についてのパターンを学習します。 Bridgeとは 日本語訳で「橋」ですね。つまりつなぐことかな 例え…
皆さんこんにちは お元気ですか?私は眠いです!I love sleepingさて、今日は微妙なTips。STLのvectorです。 vectorの解放について このvector色々と使い勝手いいですよね。なんかオブジェクトとかフリーダムに入れれたり、ネストできたりと最高でございます…
皆さんこんにちは お元気ですか?私は元気です。今日はCppUnitについて解説していきたいと思います。 CppUnitとは? C++の単体テストを自動化するライブラリです。 インストール Homebrewを使いましょう。 brew install cppunit CppUnitの使い方 サンプルコ…
皆さんこんにちは お元気ですか。ふらふらしてます。さて、今日は速度比較を行おうと思います。概略については前回の記事を参考にしてください 実験 実験内容 1、全てをループした時に速度がどうなるか →iterater と foreach それぞれで検証するので4種類 …
皆さんこんばんは お元気ですか?私は元気です。さて、本日はよーく忘れるstlのvectorの並び替え方 今回は文章が少ないですがいってみましょう。 まずは普通に vector<int> vect(5); vect[0] = 1;vect[1] = 100; vect[2] = 30; vect[3] = 20; vect[4] = 4; sort(v</int>…
皆さんこんにちは お元気ですか。私は汗をかいています 要は暑いのです。さて、本日はMakefileについて 皆さんMakefileを書いたこと有りますか? 使ったことない人、知らない人は是非使ってみましょう。 What is Makefile? makeコマンドを実行した時に それ…
皆さんこんにちは お元気ですか。早起きするとしんどいですね。さて、今日はC++11で実装されたunordered mapとやらを見てみよう。 unordered_mapって? C++11にて追加されたSTLです。 mapはTree構造で実装されているのに対し、unordered_mapはHashでの実装を…
皆さんこんにちは お元気ですか。私は本日はDesign PatternのPrototypeについて記載します。 Prototypeとは? 動作 一つインスタンスを生成するとそれらをコピーして複製を行うことをプロトタイプパターンといいます。 clone()メソッドで新しいオブジェクト…
皆さんこんにちは お元気ですか?私は元気です。さて、本日はqtについて 皆さんは自分のプログラムをGUIで表示させたいとか思ったことありませんか?そんな時に利用するのがqtです。さてやってみよう インストール brew install qt4 実行 とりあえず、以下の…