Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.90/21: Рейтинг темы: голосов - 21, средняя оценка - 4.90
-16 / 14 / 3
Регистрация: 22.01.2013
Сообщений: 154

Пустой оператор "int a;"?

31.10.2015, 20:13. Показов 4428. Ответов 77
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Для while(); пустой оператор очевиден. Для int a; - это тоже пустой оператор для функции вызываемой с хедера или это чистая орфография языка .
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
31.10.2015, 20:13
Ответы с готовыми решениями:

Как заполнить один int пустой массив другим int массивом ?
Можно пример кода :)

Пустой оператор
Интересно, а пустой оператор требует какого-либо времени на свое выполнение или же он просто ставится в качестве проформы, когда синтаксис...

Найти пустой оператор
Найти.

77
-16 / 14 / 3
Регистрация: 22.01.2013
Сообщений: 154
01.11.2015, 20:22  [ТС]
Студворк — интернет-сервис помощи студентам
int a вставил админ или модератор. Моя тема была:"Пустой оператор".

Добавлено через 11 минут
Цитата Сообщение от gru74ik Посмотреть сообщение
Нет. Операторы - это операторы. Функции - это функции. Это разные абстракции.
Да, согласен. Это абстракции на уровне пользователя( меня это удовлетворяет полностью). Но хочется больше информации, непосредственно с Форума, а не из Сети.
0
Неэпический
 Аватар для Croessmah
18144 / 10728 / 2066
Регистрация: 27.09.2012
Сообщений: 27,026
Записей в блоге: 1
01.11.2015, 20:25
Цитата Сообщение от gavrasio Посмотреть сообщение
непосредственно с Форума, а не из Сети.
а форум где?
Цитата Сообщение от gavrasio Посмотреть сообщение
Но хочется больше информации
какой? Будет нормальный вопрос, будет нормальный ответ.
А так черенок вот пустой работает не так потому что в гараже турист песни поет ночью в двенадцать дня.
2
-16 / 14 / 3
Регистрация: 22.01.2013
Сообщений: 154
01.11.2015, 20:37  [ТС]
Цитата Сообщение от Croessmah Посмотреть сообщение
в while может быть только ОДИН(ОДНА???) statement.
; - это declaration statement, в данном случае empty-declaration.
{} - это compound statement, который нужен, чтобы несколько sttement'ов считались как один.
Например:
C++
1
2
3
while (x)
    int x ;//statement для while. Здесь ведь может быть и ; и другой statement
    int y ;//а это уже вне while.
Вот для таких случаев и нужен compound statement:
C++
1
2
3
4
5
while (x)
{//тот самый compound statement
    int x ;//statement внутри compound
    int y ;//statement внутри compound
}
Всё правильно. А по теме - где пустой оператор, - не вижу.
0
Неэпический
 Аватар для Croessmah
18144 / 10728 / 2066
Регистрация: 27.09.2012
Сообщений: 27,026
Записей в блоге: 1
01.11.2015, 20:38
Цитата Сообщение от gavrasio Посмотреть сообщение
А по теме - где пустой оператор, - не вижу.
Читать внимательнее
Цитата Сообщение от gavrasio Посмотреть сообщение
empty-declaration.
Нет тут никакого пустого оператора. Такого оператора вообще нет!!!
1
-16 / 14 / 3
Регистрация: 22.01.2013
Сообщений: 154
01.11.2015, 20:52  [ТС]
Цитата Сообщение от gavrasio Посмотреть сообщение
; - это declaration statement, в данном случае empty-declaration.
Вы хотите сказать, что данное выражение имеет разную интерпритацию?

Добавлено через 6 минут
Цитата Сообщение от Croessmah Посмотреть сообщение
Нет тут никакого пустого оператора. Такого оператора вообще нет!!!
Когда Вы ставите его, чтобы сделать бесконечный цикл он есть:
while( ); Иначе эта функция не поймёт, что же ей делать.
0
Неэпический
 Аватар для Croessmah
18144 / 10728 / 2066
Регистрация: 27.09.2012
Сообщений: 27,026
Записей в блоге: 1
01.11.2015, 20:55
Цитата Сообщение от gavrasio Посмотреть сообщение
Вы хотите сказать, что данное выражение имеет разную интерпритацию?
см. пост Пустой оператор "int a;"?
C++
1
2
int a ; //Это simple-declaration, как видите на скриншоте, оно заканчивается символом ;
while (x) ; //Здесь ; - это empty-declaration, оно не имеет никакого эффекта
Добавлено через 1 минуту
Цитата Сообщение от gavrasio Посмотреть сообщение
Когда Вы ставите его, чтобы сделать бесконечный цикл он есть
Вы читаете что Вам пишут? Верно сказали - почитайте учебник.

P.S. объяснять что-то бестолку, походу.
0
Администратор
Эксперт .NET
 Аватар для tezaurismosis
9670 / 4823 / 762
Регистрация: 17.04.2012
Сообщений: 9,661
Записей в блоге: 14
01.11.2015, 20:57
Цитата Сообщение от gavrasio Посмотреть сообщение
int a вставил админ или модератор. Моя тема была:"Пустой оператор".
Темам нужно давать более исчерпывающие названия. И "int a" у вас в стартовом посте указано.
Так что хватит на зеркало пенять.
А вот это вдогонку
6.5. Запрещено публично обсуждать действия администрации форума, касающиеся их прямых обязанностей.
0
-16 / 14 / 3
Регистрация: 22.01.2013
Сообщений: 154
01.11.2015, 21:25  [ТС]
Цитата Сообщение от Croessmah Посмотреть сообщение
Нет тут никакого пустого оператора. Такого оператора вообще нет!!!
Когда Вы ставите его, чтобы сделать бесконечный цикл он есть:
while( ); Иначе эта функция не поймёт, что же ей делать.
Поставить надо единицу: while(1). В некоторых компиляторах while(true).
0
Неэпический
 Аватар для Croessmah
18144 / 10728 / 2066
Регистрация: 27.09.2012
Сообщений: 27,026
Записей в блоге: 1
01.11.2015, 21:27
Ясн всё. Читать книги! Спасибо за внимание.
0
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
01.11.2015, 21:29
Цитата Сообщение от gavrasio Посмотреть сообщение
Если бы я книжки не читал, - не было бы меня здесь.
Может книги не те, может понял не так.
Цитата Сообщение от gavrasio Посмотреть сообщение
Я запустил тему о пустом операторе( без всяких int a)
Я могу допустить, что модераторы поправили название темы, но то что фразы твои никто не менял, сомнений у меня не вызывает.
Цитата Сообщение от gavrasio Посмотреть сообщение
Достаёт из хедера функцию int, обрабатывает её, и ставит пустой оператор.
Это предложение однозначно говорит о том, что ты совсем ничего не понимаешь в языке C++, или просто не можешь выразить свои мысли на русском языке, используя термины предметной области.

Твои знания разрозненны (проще говоря, "каша" в голове), и их надо систематизировать.
Но пока ты не сможешь задавать нормально вопросы, ответов, которые тебя устроят, ты тоже не получишь.
Поэтому, бери учебник, читай, вникай, и уже после получения базовых навыков задавай вопросы, если они не отпадут сами собой после изучения основ.
1
Эксперт С++
4986 / 3093 / 456
Регистрация: 10.11.2010
Сообщений: 11,170
Записей в блоге: 10
01.11.2015, 21:29
Цитата Сообщение от gavrasio Посмотреть сообщение
Иначе эта функция не поймёт, что же ей делать.
Какая функция?
0
-16 / 14 / 3
Регистрация: 22.01.2013
Сообщений: 154
01.11.2015, 21:31  [ТС]
Цитата Сообщение от Croessmah Посмотреть сообщение
C++
1
2
int a ; //Это simple-declaration, как видите на скриншоте, оно заканчивается символом ;
while (x) ; //Здесь ; - это empty-declaration, оно не имеет никакого эффекта
Если Ваш х равняется ЕДИНИЦЕ то ";" здесь при делах, - проверте любым компилятором.
0
Неэпический
 Аватар для Croessmah
18144 / 10728 / 2066
Регистрация: 27.09.2012
Сообщений: 27,026
Записей в блоге: 1
01.11.2015, 21:32
Цитата Сообщение от gavrasio Посмотреть сообщение
Если Ваш х равняется ЕДИНИЦЕ то ";" здесь при делах, - проверте любым компилятором.
а если двум? Еще раз - читайте книжки. Вы несете чушь, право
0
Эксперт С++
4986 / 3093 / 456
Регистрация: 10.11.2010
Сообщений: 11,170
Записей в блоге: 10
01.11.2015, 21:34
gavrasio, у тебя есть дома градусник? Проверь температуру. Хоть я и не доктор, но мне кажется у тебя бред.
3
Модератор
Эксперт CЭксперт С++
 Аватар для sourcerer
5288 / 2376 / 342
Регистрация: 20.02.2013
Сообщений: 5,773
Записей в блоге: 20
01.11.2015, 22:22
gavrasio, про точку с запятой у Стивена Праты:
в оригинале:
Цитата Сообщение от Stephen Prata
In C++ each complete instruction is called a statement. You must
terminate each statement with a semicolon,so don’t omit the semicolons when you type the
examples. <...>
A statement represents an action to be taken. To understand your source code, a compiler
needs to know when one statement ends and another begins. Some languages use a state-
ment separator. FORTRAN, for example, uses the end of the line to separate one statement
from the next. Pascal uses a semicolon to separate one statement from the next. In Pascal
you can omit the semicolon in certain cases, such as after a statement just before an END ,
when you aren’t actually separating two statements. (Pragmatists and minimalists will dis-
agree about whether can implies should.) But C++, like C, uses a semicolon as a terminator
rather than as a separator. The difference is that a semicolon acting as a terminator is part
of the statement rather than a marker between statements. The practical upshot is that in
C++ you should never omit the semicolon.
в переводе:
Цитата Сообщение от Стивен Прата
В языке C++ каждая полная инструкция называется оператором.
Каждый оператор должен завершаться точкой с запятой, поэтому не забывайте ставить ее при
наборе примеров. <...>
Оператор представляет действие, которое должно быть выполнено. Чтобы понять ваш
исходный код, компилятор должен знать, где заканчивается один оператор и начинается другой.
В некоторых языках программирования используется разделитель между операторами.
В языке FORTRAN, например, для разделения операторов друг от друга применяется
символ конца строки. В языке Pascal для разделения операторов используется точка с
запятой. В языке Pascal точку с запятой можно в некоторых случаях опускать, например, после
оператора и перед end, когда на самом деле разделение двух операторов не происходит.
(Прагматики и минималисты могут не согласиться с тем, что можно — это значит нужно.)
Однако в языке C++, в отличие от С, точка с запятой больше используется в качестве
терминатора, или признака завершения, а не как разделительный знак. Разница заключается в том,
что точка с запятой, действующая как терминатор, является частью оператора, а не
маркером между операторами. На практике в языке C++ точку с запятой никогда нельзя опускать.
0
01.11.2015, 22:27
 Комментарий модератора 
Уважаемые форумчане, давайте не будем переходить на личности.
gavrasio, вам персональное предупреждение.
0
-16 / 14 / 3
Регистрация: 22.01.2013
Сообщений: 154
01.11.2015, 22:51  [ТС]
Цитата Сообщение от gru74ik Посмотреть сообщение
На практике в языке C++ точку с запятой никогда нельзя опускать.
while() {} опускаю ";". Ну и что? А вот так while{;} проходит. Вот об этом я и говорил. ";" - это не просто синтаксис, а оператор, который прописан в хедерах(?)
0
Неэпический
 Аватар для Croessmah
18144 / 10728 / 2066
Регистрация: 27.09.2012
Сообщений: 27,026
Записей в блоге: 1
01.11.2015, 23:10
Цитата Сообщение от gavrasio Посмотреть сообщение
Вот об этом я и говорил. ";" - это не просто синтаксис, а оператор, который прописан в хедерах(?)
Чушь Вы несете.
gru74ik, беда переводов в том, что там expression, statement и operator сливаются в одну большую кашу, которая бурлит и в результате ни фига не понятно. Операторы могут не заканчиваться ';'. как пример
C++
1
y = x + y + z ;
Как видим, после оператора + (вместе с операндами), стоит другой знак. а не ';', иначе это бы выглядело как
C++
1
y = ; x + y ; + z ; ;
Добавлено через 1 минуту
Цитата Сообщение от gavrasio Посмотреть сообщение
while() {} опускаю ";"
Вы ничего не опускаете. Вы просто поменяли один statement на другой.

Добавлено через 1 минуту
Есть такое понятие, как null statement - это expression-statement с отсутствующим выражением. Но это же НЕ ОПЕРАТОР.
0
-16 / 14 / 3
Регистрация: 22.01.2013
Сообщений: 154
01.11.2015, 23:11  [ТС]
Цитата Сообщение от Croessmah Посмотреть сообщение
Здесь ; - это empty-declaration, оно не имеет никакого эффекта
А что имеет значение(эффект)?
0
Неэпический
 Аватар для Croessmah
18144 / 10728 / 2066
Регистрация: 27.09.2012
Сообщений: 27,026
Записей в блоге: 1
01.11.2015, 23:14
и в
C++
1
while(...) ; //это как раз null-statement (не empty-declaration, ранее я слегка попутал), а не "пустой" оператор
Добавлено через 2 минуты
Цитата Сообщение от gavrasio Посмотреть сообщение
А что имеет значение(эффект)?
мде...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
01.11.2015, 23:14
Помогаю со студенческими работами здесь

Какая из этих функций int Q(int w) int W(int y,int u,int i) сработает быстрее?
Если есть 2 функции(простые или перегруженные) к примеру Q(int w) int W(int y,int u,int i)или int Funkz(int a) int Funkz(int a, int b, int...

Пустой оператор есть во всех функциях и методах классов: кто против?
while{1} ;

Не работает перегрузка индексного оператора [], вместо [int][int] почему то нужно ставить [0][int][int]
#include&lt;iostream&gt; #include&lt;string&gt; #include&lt;vector&gt; #include&lt;algorithm&gt; #include&lt;ctime&gt; #include&lt;conio.h&gt; #include&lt;windows.h&gt; ...

Правый оператор имеет тип int
Показывает ошибку 1&gt;c:\users\егор\documents\visual studio 2008\projects\igor\igor\mainf.cpp(53) : error C2297: *: недопустимо, правый...

Как перегрузить оператор [] для map<string, int>?
map&lt;string, int&gt; m; map&lt;string, int&gt;::iterator at, begin, end; string msg; cout &lt;&lt; &quot;Enter the stroke: &quot;; cin &gt;&gt; msg; ...


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

Или воспользуйтесь поиском по форуму:
40
Закрытая тема Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru