Czy istnieje możliwość zastosowania dyrektywy using
, której zakres jest ograniczony do jednej klasy?Deklaracja "Używanie" z zakresem tylko dla bieżącej klasy?
Należy zauważyć, że to, co chcę "użyć" nie jest zawarte w rodzicu bieżącej klasy.
Dla uproszczenia przyjmijmy, że następujące exmple:
Inną ciekawą rzeczą jest wiedzieć, czy dyrektyw using
są włączone, jeśli nagłówek jest wliczone:
MyClassFoo.h:
#include<vector>
using std::vector; //OK
class foo
{
}
aw
NewHeader.h
#include "MyClassFoo.h"
...
w jaki sposób można zapobiec użyciu "using std::vector
" v jest tutaj?
Czy istnieje możliwość, aby utworzyć na matrycy typu alias "std :: vector", który jest następnie nazwie "wektor"? W ten sposób zrobiłby to samo, co chciałbym użyć std :: vector wewnątrz klasy –
Tak, deklaracje 'using' mogą być szablonami podczas tworzenia aliasów typu i można to nazwać alias' vector', ponieważ jest w innym zakresie od 'std :: vector'. –
Myślę, że warto zauważyć, że nie jest to * stosowanie dyrektywy *, to * deklaracja użycia *. Za pomocą dyrektyw wprowadzamy ** namespaces **. –