Форум программистов, компьютерный форум CyberForum.ru

Цикл без тела - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.80
denvasden
4 / 4 / 0
Регистрация: 25.10.2012
Сообщений: 104
12.02.2013, 14:12     Цикл без тела #1
Доброго всем дня!
Читаю книжку, раздел управляющие конструкции, и тут встречаю вот такое утверждение: "В некоторых программах даже встречается циклы без тела, в которых сразу после условия следует точка с запятой"
Пример не приведен.

Как может завершиться цикл, если нет тела благодаря которому меняется условие?
В каких случаях применяются такие циклы?

Спасибо!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11815 / 6794 / 769
Регистрация: 27.09.2012
Сообщений: 16,862
Записей в блоге: 2
Завершенные тесты: 1
12.02.2013, 14:22     Цикл без тела #2
Цитата Сообщение от denvasden Посмотреть сообщение
Как может завершиться цикл, если нет тела благодаря которому меняется условие?
в условии происходит изменение всего, что нужно
Цитата Сообщение от denvasden Посмотреть сообщение
В каких случаях применяются такие циклы?
Например, вот:
C++
1
2
3
4
5
6
7
#include <iostream>
int main(){
    char str[]=" My    str   in g   ";
    for(char *p1=str,*p2=str;*p2=*p1;p2+=(*(p1++)==' '?0:1));
    std::cout<<str<<std::endl;
    return 0;
}
denvasden
4 / 4 / 0
Регистрация: 25.10.2012
Сообщений: 104
12.02.2013, 14:23  [ТС]     Цикл без тела #3
Croessmah, забыл уточнить, что там речь шла о цикле while()
Art
 Аватар для Art
150 / 150 / 35
Регистрация: 20.12.2011
Сообщений: 1,273
Завершенные тесты: 2
12.02.2013, 14:23     Цикл без тела #4
Возможно тут вы найдете ответ на свой вопрос (страница 131)
denvasden
4 / 4 / 0
Регистрация: 25.10.2012
Сообщений: 104
12.02.2013, 14:25  [ТС]     Цикл без тела #5
Art92, спасибо, читаю.
Art
 Аватар для Art
150 / 150 / 35
Регистрация: 20.12.2011
Сообщений: 1,273
Завершенные тесты: 2
12.02.2013, 14:28     Цикл без тела #6
не за что
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11815 / 6794 / 769
Регистрация: 27.09.2012
Сообщений: 16,862
Записей в блоге: 2
Завершенные тесты: 1
12.02.2013, 14:30     Цикл без тела #7
Цитата Сообщение от denvasden Посмотреть сообщение
Croessmah, забыл уточнить, что там речь шла о цикле while()
а разница? Вот Вам с while - копирование одной строки в другую:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
 
void Mystrcpy(char * dest,char * source){
    while(*(dest++)=*(source++));
}
 
 
int main(){
    char str1[]="My string";
    char str2[1024];
    Mystrcpy(str2,str1);
    std::cout<<str2<<std::endl;
    return 0;
}
denvasden
4 / 4 / 0
Регистрация: 25.10.2012
Сообщений: 104
12.02.2013, 14:32  [ТС]     Цикл без тела #8
Croessmah, изящно. спасибо)
СПП
25 / 25 / 2
Регистрация: 15.12.2012
Сообщений: 71
12.02.2013, 14:34     Цикл без тела #9
Цитата Сообщение от denvasden Посмотреть сообщение
В некоторых программах даже встречается циклы без тела, в которых сразу после условия следует точка с запятой
Цитата Сообщение от denvasden Посмотреть сообщение
точка с запятой
" ;; " - вот такой там символ подразумевается???
Tiva
94 / 94 / 1
Регистрация: 25.04.2012
Сообщений: 429
12.02.2013, 14:34     Цикл без тела #10
например создать таймер в отдельно выделенном потоке. завершится цикл тогда, когда поток будет "убит"
как сам таймер реализовать я не знаю
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.02.2013, 14:36     Цикл без тела
Еще ссылки по теме:

Выдать индекс массы тела C++
Как убрать цикл while, чтобы результат выводился без нажатия точки? C++
C++ Вывод числа в столбик с первой цифры, без массива, без строк

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
denvasden
4 / 4 / 0
Регистрация: 25.10.2012
Сообщений: 104
12.02.2013, 14:36  [ТС]     Цикл без тела #11
СПП, там имелось в виду
while("выполнение нужных действий");
Yandex
Объявления
12.02.2013, 14:36     Цикл без тела
Ответ Создать тему
Опции темы

Текущее время: 14:12. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru