最大 80 列未満に収まるコード行を記述しようとしています。したがって、変数の型を完全に修飾することは本当に必須なのだろうか? 次の実装を想定しています。
//Baz.h
namespace loggingapi {
namespace attributes {
class Baz {};
}} // namespaces
// Bar.h
namespace loggingapi {
namespace attributes {
class Baz; // forward declare Baz.
}
class Biz {
int f(Baz* b);
};
} // namespaces
関数パラメーターの型を宣言するには、複数の方法がありますか?
- a)
int f(Baz* b);
- b) または
int f(attributes::Baz* b);
- c) または
int f(loggingapi::attributes::Baz* b);
- d) または
int f(::loggingapi::attributes::Baz* b);
上記のリストで、どの定義がコンパイラにとってより明確/曖昧ですか?
注: 次の実装では、名前空間/パラメーター/クラス/関数名を短縮できないと想定する必要があります。