読者です 読者をやめる 読者になる 読者になる

はわわーっ

はわわわわっ

cpp

[cpp] std::vectorを配列の引数に渡す

cpp

配列を引数にとる関数にstd::vectorを渡すときは &v[0] &v.front() のどちらかを使えばよい。サンプルコード #include <iostream> #include <vector> void Show(const int* array, int size) { for(int i = 0; i < size; ++i) { std::cout << array[i] << ' '; } std::cout << </vector></iostream>…

[cpp] 関数テンプレートを使う

cpp

引数の型が違うだけで処理は同じ関数を作るときとかにテンプレートを使うと便利です。 とりあえず、サンプルコード #include <iostream> template <typename TYPE> TYPE Abs(TYPE a) { return a < 0 ? -a : a; } int main() { std::cout << Abs(-10) << std::endl; std::cout << Abs(-</typename></iostream>…

[cpp] boost minimal testを使う

cpp

boost/test/minimal.hppをインクルードすると、ライブラリをリンクしなくてもテストを行えます。 参考: boost::test - C++でゲームプログラミング, Boost minimal test - Faith and Brave - C++で遊ぼうサンプルはこんな感じ。 #include <boost/test/minimal.hpp> int add(int i, int</boost/test/minimal.hpp>…

[cpp] boost::test を使う

cpp

ユニットテストをやってみようと思ったのでboostのやつを使ってみた。 サンプルはこんな感じ #define BOOST_TEST_MODULE MyTest #include <boost/test/unit_test.hpp> int add(int i, int j) { return i + j; } BOOST_AUTO_TEST_CASE(my_test) { BOOST_CHECK(add(2,2) == 4); } まず、 </boost/test/unit_test.hpp>…

[cpp] yaml-cppをインストールした

cpp

yaml-cppをインストールしたのでメモ。とりあえずソースコードをとってきて解凍 % wget http://yaml-cpp.googlecode.com/files/yaml-cpp-0.3.0.tar.gz % tar -zxf yaml-cpp-0.3.0.tar.gz % cd yaml-cpp 後で気づいたけど、hgのリポジトリがあります。 % hg c…

[cpp] boost::shared_ptrを使ってみる

cpp

動的にメモリを確保したいときはshared_ptrってのを使うといいらしい。ってことで、ちょっと練習。まず、クラスを定義してみる。C++よくわかってないので、正直この辺もあんまり自身がない。 #include <boost/shared_ptr.hpp> #include <iostream> class MyClass { public: MyClass() : x(999</iostream></boost/shared_ptr.hpp>…

[cpp] ファイルを読み込む - その3

cpp

連続した行をひとつのパラグラフとして読み込むようにしてみた。とりあえず動いてるらしい。 #include <iostream> #include <fstream> #include <string> #include <vector> class Paragraph { public: void read_line(std::string str); void write_line(void); void clear_line(void); bool is</vector></string></fstream></iostream>…

[cpp] ファイルを読み込む - その2

cpp

クラスを使ってやってみた。使い方があってるかわからない。というかparagraphとか名前つけたけど、段落とか関係ないな。 #include <iostream> #include <fstream> #include <string> #include <vector> class Paragraph { public: void read_line(const char* file); void write_line(void); pr</vector></string></fstream></iostream>…

[cpp] ファイルを読み込む

cpp

ファイルを1行ずつ読み込むサンプル。 #include <iostream> #include <fstream> #include <string> int main(int argc, char** argv) { std::ifstream ifs("test.txt"); std::string line; while(ifs && getline(ifs, line)) { std::cout << line << std::endl; } return 0; } getline </string></fstream></iostream>…