C++プログラミングの私的書法

私はC++で書くようになる前はC#でよく書いていたので、オブジェクト指向万世的な考えのもと、初めのうちは純C++的に書こうとしてた。
printfは使わず、std::coutを使い、templateを駆使し、関数オブジェクトを使い…
そんな時にboost::formatなるものがあると知った。
boost::formatはstd::coutやstd::cerrなどに対してprintfのような書法で出力できるというもの。浮動小数の精度指定出力に便利だなと思い使い始めた。
ところで、仕事柄スパコンで計算させるためにスパコン用のコンパイラを使うのだが、これがとても時間がかかる。特にstd::coutは時間がかかる。printfならかなり速くコンパイルできる。よく考えたら、boost::formatを使うのならprintfに乗り換えられるではないかと気づいてprintfを使うことにした。C言語にもどってしまった。

deleteは悪の根源という考えのもと、mallocやnewは使わずにstd::vectorを使うようにしている。ただ、cudaでも前はthrustを使っていたが、最近はmalloc的なデバイスメモリ確保の関数を使っている。やっぱりstd::vectorよりnewにしようかな…
最適化されたコードを書こうとすると純C++的には書くのが難しい場合もあったりする…
結局、純C++にこだわるのは諦めてC/C++折衷的なのが良いという考えにいたりました。というかオブジェクト指向ってなんだっけ、なんだか良く分からなくなってきたぞ。