YAMAGUCHI::weblog

海水パンツとゴーグルで、巨万の富を築きました。カリブの怪物、フリーアルバイター瞳です。

exceptionとかlogic_errorとか名前空間とか

最近になって初めてc++でtry-catch構文を使うようになったんですが,今まで使わなかったモノだから慣れないことが多くて困る.怠け者な自分はよく

#include <iostream>
using namespace std;

なんて感じでコードを書き始めるんだけど,これだとうっかりするとすぐに名前の衝突が起きちゃって困る.特に今使っているlibpqxxはstringとかstdと名前がかぶるクラスがあったりするから,なるべく最小限の宣言だけしようとしているわけです.そうした途端に,タイトルにあるようなものを使おうとすると

#include <iostream>
using std::exception;
using std::logic_error;
using std::cerr;
using std::cout;
using std::endl;

なんて感じで一気にコード記述量が増えるわけです.なんかJavaみたいに上手く木構造のある枝以下をusing宣言,みたいな感じでできないんでしょうか?