さらにいまだに FizzBuzz 問題

ゃ、自分の主言語の C++ でもやっとくべきかなぁというのと、いま構築中の開発環境がまともに使えるかどーかの実働試験も兼ねまして。

まぁふつーに書いてもつまんなぃので、ひねくれた特徴といたしましてゎ:

ってとこでしょか。

気力が足りないので g++ 4.1.2 以外でゎ動作確認してませぬ。

#include <iostream>
#include <sstream>

using namespace std;

int main(int, char**) { return 0; } 

class FizzBuzz
{
public:
    FizzBuzz(int i = 100, int f = 3, int b = 5)
	: i_(101 - i--), f_(--f), b_(--b),
	  n_(i ? new(nothrow) FizzBuzz(i,
				       f + int(!bool(f)) * 3,
				       b + int(!bool(b)) * 5)
	       : NULL)
    {}

    virtual ~FizzBuzz()
    {
	cout << &static_cast<stringstream&>(
	            stringstream() << i_ << ends << ends << ends
	         ).str()[!(f_ && b_) * 4]
	     << &("Fizz"[bool(f_) * 4])
	     << &("Buzz"[bool(b_) * 4])
	     << "\n "[bool(n_)];
	delete n_;
    }

private:
    int i_, f_, b_;
    FizzBuzz* n_;
} fizzbuzz;