c++
Boost.Filesystem - Cube Lilac で boost::filesystem::recursive_directory_iterator が紹介されていたのですが、ぼくはこの存在を全く知りませんでした。 どのようなものかは上記エントリで非常に分かりやすく説明されていますが、ディレクトリを深さ優先…
テストコード。 を計算する。N=10 なので、答えは 55 になる。 template <int N> struct sum { static const int value = N + sum<N-1>::value; }; template <> struct sum<0> { static const int value = 0; }; int main() { return sum<10>::value; } アセンブラコード</n-1></int>…
以下のコードを実行すると,クラス B の構築時に暗黙のうちにクラス A のコンストラクタが呼び出され,メンバの a が構築される.結果として "constructor A" なる文字列が出力されることになる. #include <iostream> class A { public: A() { std::cout << "contruct</iostream>…
シェルにリダイレクト機能をつけるというのは,わりかし楽だったりします. リダイレクトの仕組み まず前提としてあるのは,シェルは普通,fork によって子プロセスを作り,子プロセスが exec を呼び出してプログラムをロードし,実行するということです.こ…
Shell クラスからトークンを切り出す機能を独立させることにしました.Tokenizer クラスに持たせた機能は,セミコロンあるいはパイプで区切られる "文" をトークンに切り出すこと.仕様としては,リダイレクト記号 ('') やアンバサンドの前後にはスペースを…
字句解析 先日友人とご飯を食べてるときにシェルの話になって,「シェル作るときって字句解析がメンドくさいよねー」って話になりました.シェルというと,fork だの dup だの pipe だのがミソみたいな感じですけど,個人的に一番メンドい印象があるのが字句…
根本的な疑問なんですけども急に気になり始めまして、STLのmapで size_type erase(const key_type& k); これって何を返すの?って話です。 どうも戻り値をみる限り、map中で消去した要素数を返している感じに見えた。 ソース。 /** * @brief Erases elements…
いまさらハマったおwwなんでいまさらハマるのww泣いたww #include <iostream> class Parent { virtual void say() { std::cout << "親だお!" << std::endl; } public: Parent() { say(); } }; class Child : public Parent { virtual void say() { std::cout <<</iostream>…
boostのublasで部分行列を作る方法ねーかなーと思って、 いろいろ聞いたりしてテストしてみた。 #include <iostream> #include <boost/numeric/ublas/matrix.hpp> #include <boost/numeric/ublas/io.hpp> #include <boost/numeric/ublas/storage.hpp> #include <boost/numeric/ublas/matrix_proxy.hpp> int main() { typedef boost::numeric::ublas::matrix<double>…</double></boost/numeric/ublas/matrix_proxy.hpp></boost/numeric/ublas/storage.hpp></boost/numeric/ublas/io.hpp></boost/numeric/ublas/matrix.hpp></iostream>