我對使用using
C++關鍵字更好地使用名稱空間的方法感到困惑。假設下面的代碼是在頭文件backtrace.h
如何在C++中使用「using」關鍵字
#include <memory>
using my_namespace1::component1;
using my_namespace2::component2;
namespace my_application {
namespace platform_logs {
class backtrace_log {
//code that creates instances of my_namespace1::component1 and my_namespace2::component2
};
}
}
OR
#include <memory>
namespace my_application {
namespace platform_logs {
using my_namespace1::component1;
using my_namespace2::component2;
class backtrace_log {
//code that creates instances of my_namespace1::component1 and my_namespace2::component2
};
}
}
哪一個更好,爲什麼?
這是一個味道和偏好問題 –
@NicolBolas編輯了這個問題。 – Monku
我建議不要使用深層嵌套的名稱空間(深度大於1) - 他們所做的只是讓您的代碼難以理解。使用名稱空間的主要原因是避免名稱衝突 - 如果您沒有這種衝突,則不需要複雜的名稱空間方案。 –