0
我想跳過一些範圍直接訪問一個靜態變量,而不寫所有的範圍。用範圍內定義
nts::CLI::Mode::AMode::Out
這裏出門就是指針靜態變量來一個我想通過寫
nts::Out
訪問有沒有辦法做到這一點使用prepocessor定義或另一個指針我命名空間nts?
也許只是一個架構錯誤,我應該把我的靜態變量放在nts命名空間中嗎?
我想跳過一些範圍直接訪問一個靜態變量,而不寫所有的範圍。用範圍內定義
nts::CLI::Mode::AMode::Out
這裏出門就是指針靜態變量來一個我想通過寫
nts::Out
訪問有沒有辦法做到這一點使用prepocessor定義或另一個指針我命名空間nts?
也許只是一個架構錯誤,我應該把我的靜態變量放在nts命名空間中嗎?
最簡潔的方法是定義一個別名,例如,針對您的特定情況:
using Out = CLI::Mode::AMode::Out;
裏面的nts
名稱空間。
當然,你可以定義任何其他別名,在命名空間或類的任何級別,像using O = nts::CLI::Mode::AMode::Out;
和O
是新的名稱等
包括整個命名時一般不贊成,因爲如果導致'命名空間污染',但也起作用:using nts::CLI::Mode::AMode;
。
你爲什麼要這樣做?這裏的動機是什麼?如果你想減少寫入的數量,你可以說'使用nts :: CLI :: Mode :: Amode :: Out'並且在你的代碼中快樂地使用'Out',而不必一次又一次地編寫完整的命名空間限定名 – Rishi
'nts','CLI','Mode'和'AMode'是所有命名空間嗎? –
不,nts是一個命名空間,其他是類 –