Loading...
v.nikolov avatar v.nikolov 17 Точки

[C++] For loops - variations

Здравейте,

Заиграх се с for loops и  стана доста интересно blush

  1. for (int i = 0; i < size; i++) – стандартен loop - ОК

  2. for ( range_declaration : range_expression ) - Range-Based For Loop - c++11

  3. for_each (InputIterator first, InputIterator last, Function fn)-for_each - This loop is defined in a algorithm header.

    Example:

    vector v1;

    for_each(v1.begin(), v1.end(), fun1);

    4.  for each (int i in arr) –  C++/CLI от втория отговор на

http://stackoverflow.com/questions/15027282/c-for-each-pulling-from-vector-elements - „There is no for each in C++. Another option is to use std::for_each with a suitable functor“ . netbeans – c++11, с++14, Cygwin 2.5.1 не се компилира. VS10 компилира без проблем.

Edit: От сайта на Microsoft " Iterates through an array or collection. This non-standard keyword is available in both C++/CLI and native C++ projects. However, its use is not recommended. Consider using a standard Range-based for Statement (C++) instead "

Лектора спомена на първата лекция около 2:26 за for each, който ще говори малко по – късно, но пък аз нямам търпение smiley.

Та сега въпроса е кой “FOR” се използва най-често и съответно в judge (Поддържа се стандарта C++ 14, компилатор GCC 5.2 on Windows (MinGW-w64)) кой ще се компилира?

Тагове:
1
C++ Programming 01/06/2016 18:30:00
Rextor92 avatar Rextor92 149 Точки
  • Judge може да не приеме някои от по-сложните конструкции
  • При предаване на домашно, проверяващия го може да бъде на Windows, Linux или OS X

Аз лично разглеждам всички варианти да направя нещо, но за judge и домашните (за разлика от C#, Java например) се опитвам да направя решение, което би се компилирало на най-широк кръг от компилатори, следователно използвам най-базовите възможни похвати. Бих използвал базовия for loop във всеки случай. Например, ако преглеждам домашно и ми даде грешка при компилация (имайки предвид, че поне под Visual Studio грешките не са особено описателни) бих потърсил в интернет нещо свързано с твоето решение. Някой обаче може просто да не ти даде точки, защото задачата не тръгва.

1
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.