http://d.hatena.ne.jp/Nagise/20100321
ここにjavaセミコロンなしってのがあって、
javaの文法なんてC言語/C++クローンだろ
歴史を同じくする言語なのでC++でも出来るだろJKとおもってやってみました。

まず、helloworld

#include
int main() { if( std::cout << "Hello World!" << std::endl ) {} }

if使う方法はもろパクリです、サーセンw<<演算子が、std::ostreamの参照返すからセミコロンいらず。

FizzBuzz


#include
#include
#include

//static constは使えないorz
#define NUM_MAX 100
#define PRINT(x) { if( std::cout << (x) ) {} }

int main()
{
 BOOST_FOREACH( const int i, pstade::oven::counting(1, NUM_MAX) ) {
  PRINT(i)
  PRINT(" : ")
  if( i % 3 == 0 ) { PRINT("Fizz" ) }
  if( i % 5 == 0 ) { PRINT("Buzz" ) }
  PRINT("\n")
  }
}

ifはPRINTマクロに閉じ込めたので、ちょっとすっきり。
BOOST_FOREACHのrangeを決めるのに最初、
BOOST_FOREACH( int t, std::pair r(1, NUM_MAX) )
なんてやったら、pairの中身が、iteratorじゃないから*演算子(参照はがし)が定義されてないとのこと。
なので、どうしようかと思ったら、pstade::oven::countingがboost::counting_iterator rangeを
作ってくれるそうなので、そっちに任せました。

実行結果、

1 :
2 :
3 : Fizz
4 :
5 : Buzz
6 : Fizz
7 :
8 :
9 : Fizz
10 : Buzz

......

95 : Buzz
96 : Fizz
97 :
98 :
99 : Fizz
100 : Buzz