A mere hateblo

単なるはてブロです。

c++

C++の参照の使い方を間違えた

C++の参照を「ポインタと見た目が違うだけで似たようなもの」などと覚えたせいでバグを作ってしまった。なんだかくやしいので、未来の自分に対して書き留めておく。 例えばポインタを使った例として、こう書いて: #include <iostream> int main() { int a = 1; int b =</iostream>…

関数(メソッド)の再定義と多重定義

昨日ごりごりRuby書いているときに他の言語の感覚のままでハマったこと - 日々の御伽噺を読んで、C++ではどうかと思い確認した。 int foo(int a, int b) { return 1; } int foo(int a, int b, int c = 0) { return 0; } int main() { return foo(1, 2); }% g…

Google C++ Testing FrameworkをVisual Studio Express 2012 for Windows Desktopでビルドした

ちょっと必要になったのでGoogle C++ Testing Framework(以下gtest)をVisual Studio Express 2012 for Windows Desktop(以下msvc11)でビルドしました。といっても、やったのはソリューションファイルとプロジェクトファイルを用意しただけ。差分はgistにあげ…

C#でMessagePackを使う(その後)

先日の記事(C#でMessagePackを使う - A mere hateblo)の続き。その後アレコレ調べたり試しましたが自分の理解や経験ではなんともならず、MessagePack互換のクラスを自作しました。実のところ、相手側のC++の方も配布されているソースコードをそのままコンパ…

C#でMessagePackを使う

C++で書いたアプリとC#で書いたアプリの間でMessagePackを使ってデータをやりとりできないかな、とやってます。C++の方はなんとか使い方を覚えましたが、C#の方はC#自体ここ一ヶ月くらいしか経験がないせいもあって苦労してます。どこかに質問しようにも頭の…

ケアレスミス

どうしても直せない不具合があった。ifの条件が真ではないことが明らかなのに真とみなされてしまう。かなり頭を抱えたが、よくよくソースを見たらなんてことはない(以下は適当な再現コード)。 bool ret = true; if (!ret); // ← ここに謎のセミコロンがある …