A mere hateblo

単なるはてブロです。

FreeBSD 9-STABLEを10-STABLEへ更新した。

さくらのVPSで使っているFreeBSD 9-STABLEを10-STABLEへ更新した。/usr/src以下を事前にSubversionへ切り替えていたので、手順はsvn switchで10-STABLEのURLへ変更したあと、いつものようにOSを更新しただけ。 具体的にはこんな感じ。make buildworld以降は/…

複数のクライアントから接続を受ける際のselect(2)の動作を確認した

ソケットを使ったサーバー・クライアントを実装するとして、サーバーに複数のクライアントから接続を求められた場合、selectがどのような動作をするのか確かめたくなった。まずはサーバーから: #include <fcntl.h> #include <netinet/in.h> #include <signal.h> #include <stdio.h> #include <sys/select.h> #include <sys/socket.h></sys/socket.h></sys/select.h></stdio.h></signal.h></netinet/in.h></fcntl.h>…

はてなブログおみくじ2014

はてなブログおみくじ2014

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…