Yerel isim alanına std :: string ve std :: vector eklemek için C ++ 'kullanma' bildirimini kullanıyorum (gereksiz 'std ::' s yazmayı kaydetmek için).
using std::string;
using std::vector;
class Foo { /*...*/ };
Bu beyannamenin kapsamı nedir? Bunu bir başlıkta yaparsam, bu 'using' bildirimlerini başlığı içeren her cpp dosyasına enjekte eder mi?
usingbeyanı (a fortiori yönergesi bir başlık olarak) hiç , hatta bir ad alanı içinde! Bunun neden olduğu sorunlar için bir ad alanı içinde bildirim kullanımının kapsamına bakın .
usingsınıf ve işlev kapsamında tartışılan sorun ile ilgili güvenlidir.
usingbildirim (veyausingyönerge) koymayın ! Bu, başlığın kullanıcıları için baş ağrısına neden olacaktır.