Chciałbym uzyskać porady dotyczące korzystania z BOOST_FOREACH.BOOST_FOREACH versus dla pętli
Przeczytałem, że nie jest to zalecane, jeśli chodzi o wydajność, która jest bardzo ciężkim nagłówkiem.
Co więcej, wymusza użycie instrukcji "break" i "continue", ponieważ nie można tak naprawdę uzyskać warunku wyjścia opartego na wartości logicznej Boolean i zawsze mówiono mi, że należy unikać "przerwania" i "kontynuowania". kiedy możliwe.
Oczywiście korzyści nie wiążą się bezpośrednio z iteratorami, które ułatwiają wykonywanie iteracji przez kontener.
Co o tym sądzisz? Czy sądzisz, że jeśli zostanie zastosowana, powinna być systematycznie adoptowana w celu zagwarantowania jednorodności projektu lub jego użycie jest zalecane tylko w określonych okolicznościach?
"i zawsze mi mówiono, że należy unikać" przerwy "i" kontynuowania ", jeśli to możliwe." Czy możesz się z nim zapoznać? – utnapistim
IIRC Były powody, by unikać przerwy i kontynuować z powrotem w dawnych dobrych czasach, kiedy ludzie nie mieli wzorów RAII, a optmimizery mogą mieć problemy, gdy pętle będą zbyt "skoczne". Były to dni dogmatu "single entry one exit", w którym funkcje miały tylko jedno oświadczenie zwrotne, tonę if's i some goto's.I są ludzie, którzy nauczyli się tych dogmatów eony temu, nigdy ich nie kwestionowali i rozpowszechniają wśród młodych ludzi w czasach, w których nie mają sensu, ale mają mnóstwo problemów. –
Chociaż zgadzam się z tobą, muszę powiedzieć, że może nie być wartości w używaniu przerwy lub kontynuowania pętli. Jeśli zarezerwować te słowa kluczowe, aby podczas pętli i nie zgadza się z nich korzystać w pętli, intencją staje się wyraźniejszy. Ale to zbyt wiele IMHO, nie radziłbym tego. – MatiasFG