エンジニアのソフトウェア的愛情

または私は如何にして心配するのを止めてプログラムを・愛する・ようになったか

C++でもFizzBuzz

C++なら。Boost使って変態コード(笑)。

#include <boost/lambda/lambda.hpp>
#include <boost/function.hpp>
#include <iostream>

int main(int, char* [])
{
    boost::function<void(int)> f[] =
    {
        (std::cout << boost::lambda::_1 << '\n'),
        (std::cout << boost::lambda::constant("Fizz\n")),
        (std::cout << boost::lambda::constant("Buzz\n")),
        (std::cout << boost::lambda::constant("FizzBuzz\n"))
    };

    for(int i = 1; i <= 100; ++i)
    {
        f[(i % 5 == 0 ? 2 : 0) + (i % 3 == 0 ? 1 : 0)](i);
    }

    return 0;
}