C++11時代の多重ループbreak

以前、多重ループを抜ける方法を列挙したことがあったけど、もう一つ例を思いついたので挙げてみる。
個人的には関数にしてreturnが好みなのだが、これの欠点としてループを抜けるためだけの小さな関数が出来、また呼ばれる場所から離れてしまって可読性に影響が出るということがあった。しかし、C++11ではλがあるので局所的に関数を生成すれば少なくとも後者の欠点は消せる!!というわけで実例は以下のとおり。

[&](){
	for( int z = 0; z < iSizeZ; ++z ){
		for( int y = 0; y < iSizeY; ++y ){
			for( int x = 0; x < iSizeX; ++x ){
				if( ... ){
					return;
				}
			}
		}
	}
}();

まあ、λの使い方として間違っているような気がしないでもないけど・・・実際に使うかどうか悩み中。