Przeczytałem VC11 Blog o funkcjach C++ 11 VC11, gdy już przyszedłem do tematu SCARY iterators.Co to są Iteratory SCARY?
Jakie są przerażające iteratory i jak to wpływa na moje doświadczenie C++ kodowania?
Przeczytałem VC11 Blog o funkcjach C++ 11 VC11, gdy już przyszedłem do tematu SCARY iterators.Co to są Iteratory SCARY?
Jakie są przerażające iteratory i jak to wpływa na moje doświadczenie C++ kodowania?
Jeśli jesteś , używając ich, nie ma potrzeby, aby uzyskać SCAREd ... po prostu zignoruj ich SCARY-ness.
Jeśli dokonywania je, co oznacza, że trzeba dokonać iteratory niezależne od rodzaju przydzielania kontenera i innych parametrów ogólnych do pojemnika, że nie wpływają one na iteratory.
Z ciekawości, dla dowolnego obiektu z niestandardowym alokatorem lub w przypadku, gdy istnieje możliwość, że obiekt będzie miał niestandardowy przydział, nie byłoby lepiej użyć 'decltype' zamiast polegać na tym, czy twój kompilator implementuje iteratory SCARY? Na przykład, jeśli z jakiegoś powodu utworzenia 'std :: vector
widzę jak SCARY iteratory są przydatne do wcześniej istniejącego kodu i pozwolić kompilator obsłużyć kod poprawnie bez niego musiałyby być przepisywane w celu uwzględnienia innych niż domyślne iteratory, ale są one zbędne pisząc nowy typ niezależne kod ze względu na "decltype", czy też jest jakaś korzyść z używania zachowania SCARY w jawnym określaniu typu iteratora z 'decltype', którego nie jestem świadomy? [Nie licząc kompilatorów, które nie są zgodne z C++ 11, zazwyczaj nie obsługują ani SCARY, ani iteratorów, ani 'decltype'.] –
Od połączonego PDF, w http://www.open-std.org/jtc1/sc22/WG21/docs/papers/2009/n2911.pdf
akronimem SCARY opisuje zadania i inicjacji, które są Pozornie błędna (pojawiających ograniczona przez sprzeczne parametry ogólne), ale faktycznie pracują z prawem realizacji (niewymuszony przez konflikt ze względu na zminimalizowane zależności).
+0,5 dla odniesienie (chociaż linki nie są odpowiedziami). +0,5 do cytowania backronym (choć nie jest to zbyt objaśniające bez dalszego kontekstu). -1 za brak odpowiedzi na pytanie. –
są opisane w [n2980] (http://www.open-std.org/jtc1/sc22/WG21/docs/papers/2009/n2980.pdf) i [n2911] (http: // www. open-std.org/jtc1/sc22/WG21/docs/papers/2009/n2911.pdf). Czytałeś te gazety? – Mankarse
http://blogs.msdn.com/b/vcblog/archive/2012/04/06/10291485.aspx – Macmade
Zawsze chciał, że 'std :: vector :: byłoby iterator' być zwykły stary' 'T * . Nie ma nic bardziej przerażającego niż to. –
ybungalobill