C++– tag –
-
【デザインパターン】ObserverパターンをC++で実装
Observerパターン(オブザーバーパターン)は,デザインパターンの中でも特に重要でよく利用されるパターンです. C++でObserverパターンを実装します. 【Observerパターンとは】 観察者(Observerクラス)と通知者(Subjectクラス)の二つのクラスで表現... -
【C++】cbrt(x) vs pow(x,1/3) 立方根(三乗根)演算速度を比較してみた
C++11以降において,立方根(三乗根)の計算の際に,一般的に数学関数(<cmath>ヘッダ)を使用します. 平方根関数std::sqrtはよく知られていますが,立方根std::cbrtは意外と知られていません 立方根の算出するべき乗関数std::pow(x,1/3)と立方根関... -
【C++】sqrt(x) vs pow(x,0.5) 平方根の演算速度を比較してみた
C++において,平方根計算の際に,一般的に数学関数(<cmath>ヘッダ)を使用します. 平方根の算出には,専用関数std::sqrt(x)とべき乗関数std::pow(x,0.5e0)を使用する方法が考えられます. この記事では,std::sqrtとstd::powによる平方根算出の速... -
【C++】std::random_deviceは遅い?乱数生成器の速度を比較してみた
C++において,乱数といえば<random>ヘッダを使用して乱数生成をするのが一般的です. 乱数は,「真の乱数」と「疑似乱数」に分類されます. 「真の乱数」は真のランダムな数のため,乱数としての信頼性は高く,再現性はありません. 一方で,「疑似... -
Visual Studioのコード整形にClang Formatを適用してみた
快適なプログラミング環境には,コード整形は必須でしょう.コード整形ルールがない場合,コードの見た目が悪くコーディングしている際に心の健康が害されます.(笑) 読みやすく,わかりやすいコードを書くべし! >> リーダブルコード ―より良いコー... -
数値シミュレーション向けプログラミング言語は何か?
プログラミング言語は何がおすすめか?はよく話題に上がります. 結局のところ,プログラミング言語の良し悪しは,目的により異なるというのが答えです. この記事では,科学計算(計算科学)や数値シミュレーションを目的とした場合,どのプログラミング... -
【C++】 文字列と数値の安全な相互変換と速度比較
私は普段からC++を愛用していますが,何気に文字列と数値変換に関してはよくググります.この記事では,個人的な備忘録の意味合いが大きいですが,「文字列と数値の変換」と「変換速度」についてまとめておきます. 文字列と数値の変換する場合,一見簡単... -
【C++】std::vectorにおける要素追加の速度比較(push_back, reserve, resize)
C++において,std::vectorは動的確保可能な配列として非常によく利用されます.配列を動的に確保できることで非常に使いやすい一方で,配列を確保する方法に次第では速度に大きく影響します. std::vectorはこれまでに数多く比較されていると思いますが,... -
C++でのベンチマークテストのためにGoogle Benchmarkライブラリを利用する
便利なベンチマークツールは使うべし! 単体テストは重要性は近年では広く周知されています.一方で,性能に関してはなかなか議論されることが多くありません. その一因としては,性能はプログラマの能力差が顕著に顕れるためでしょう. バグに関してはテ...
12