C++– tag –
-
【Linux】 最新のGCCをソースからインストールする手順
GCCはパッケージ管理システム(aptやyumなど)を用いることで簡単にインストール可能です. インストールされるGCCのバージョンはOSに依存するため,最新バージョンをインストールしたい場合,ソースからビルドし,インストールする必要があります. ソー... -
【C++】OpenGLなしでVTKをインストールする
VTKライブラリは,かなり大きなプロジェクトです. すべてインストールしても良いですが,膨大な量なためビルドに結構な時間がかかります.また,依存ライブラリが多くOpenGLなどのインストールも要求されます. すべてインストールしても良いですが,膨大... -
【C++】ループの正しい逆順走査
ループ(for文)の逆順走査には rbegin(),rend()のイテレータを使用する方法インデックスをデクリメント する方法が代表的です. イテレータ(rbegin(),rend())を使用している場合,std::distanceなどでインデックスを得ることが出来ます. しかしながら... -
【C++】STLコンテナVectorをソートした場合のメモリアライメントに関して調査した
メモリ配置が連続でない場合,メモリアクセスの不連続が生じてしまいます. algorithmヘッダに含まれるstd::sortを使用した場合,どのような挙動をするのか,少し疑問に感じたため調査しました. 調査内容 まず,次のような動的配列を用意します. std::ve... -
【C++】Boostをソースからインストールする(必要なライブラリのみ)
Boostは比較的大きなライブラリ群です. すべてのライブラリをインストールしても問題ありませんが,必要なライブラリを把握している場合,必要なものだけインストールすることで,ライブラリサイズを削減できます. インストール方法 デフォルトインスト... -
【LLVM】最新のClangをaptでインストールする方法
LLVMというかClangの最新バージョンをパッケージインストーラー(apt)でインストールする方法をメモしておきます. バージョン指定しない場合は,下記コマンドでインストール可能ですが,結構古いバージョンがインストールされます. apt install clang l... -
【デザインパターン】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による平方根算出の速...