Ist es möglich, ein nicht-const / const-Datenelement einer Template-Klasse basierend auf der Constness des Template-Arguments bedingt zu aktivieren?

8

Ist es möglich, ein nicht-const / const-Datenelement einer Template-Klasse basierend auf der Konstanz des Template-Arguments bedingt zu aktivieren? Oder haben Sie vielleicht eine bedingte Typedef? Ich dachte darüber nach, std :: enable_if mit std :: is_const zu verwenden, aber es gibt keine std :: is_not_const, die ich verwenden könnte.

%Vor%

Beachten Sie, dass immer T! = A ist.

    
NFRCR 08.04.2014, 19:25
quelle

2 Antworten

11

Ja, Sie können std::conditional verwenden:

%Vor%     
jrok 08.04.2014, 19:27
quelle
5

Ja, Sie können das tun. Die <type_traits> Kopfzeile enthält Werkzeuge für diesen Zweck.

%Vor%

Sie könnten sogar einen Helfer für diesen Zweck machen:

%Vor%

Dann benutze es so:

%Vor%     
Timothy Shields 08.04.2014 19:27
quelle

Tags und Links