Форум программистов, компьютерный форум, киберфорум
Обо всем!
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.78/9: Рейтинг темы: голосов - 9, средняя оценка - 4.78
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562

Где должно быть тире?

23.05.2013, 14:40. Показов 2058. Ответов 36
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
На --z тело цилка всегда один составной оператор, даже если цикл организован ради повтора единственной операции.
Где должно быть тире?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
23.05.2013, 14:40
Ответы с готовыми решениями:

Как должна быть организована сеть офиса? Что должно быть настроено обязательно, а чего быть не должно?
Добрый день. Сразу оговорюсь, что я инженер-строитель и настройкой сети занимаюсь только потому, что больше некому. Поэтому некоторые,...

Code::Blocks выдаёт ошибку там где её не должно быть
Я решил написать простенькую программу по преобразованию градусов Цельсия в градусы Фаренгейта, а CodeBlocks выдаёт ошибку в строках 11 и...

Очень много рекламы в браузере, там где её не должно быть
Помогите, открывается mail.ru поиск вместо Google, много рекламы там где её быть не должно, открываются вкладки с рекламой и т.д.

36
~ Эврика! ~
 Аватар для OhMyGodSoLong
1258 / 1007 / 74
Регистрация: 24.07.2012
Сообщений: 2,002
26.05.2013, 15:52
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Nameless One Посмотреть сообщение
Кстати, я не в курсе последних веяний в развитии C++, там до сих пор шаблонные реализации нигде кроме хэдера не определить?
АгаУже починили, к счастью.
0
Эксперт С++
 Аватар для Nameless One
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
26.05.2013, 16:04
OhMyGodSoLong, а можно ссылку или пример? А то у меня не получается.
0
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
26.05.2013, 16:09  [ТС]
Цитата Сообщение от Nameless One Посмотреть сообщение
Вылезай из криокамеры, 2013 г. на дворе.
Так и запишем: сарказма не понимает.

Добавлено через 1 минуту
Цитата Сообщение от Nameless One Посмотреть сообщение
Почему у меня не ругается?
В скольких модулях одновременно инкладишь?
0
Эксперт С++
 Аватар для Nameless One
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
26.05.2013, 16:11
Цитата Сообщение от taras atavin Посмотреть сообщение
В скольких модулях одновременно инкладишь?
pair.hpp инклюдится в main.cpp и pair_reverse.cpp. Ну ты код-то посмотри.
0
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
26.05.2013, 16:15  [ТС]
Цитата Сообщение от Nameless One Посмотреть сообщение
pair.hpp инклюдится в main.cpp и pair_reverse.cpp. Ну ты код-то посмотри.
Странно. У меня именно из-за этого количество модулей любого проекта больше ровно на количество классов, все попытки спихнуть реализацию хотя бы одного не шаблонного класса в голову провалились. Но на --z это не пройдёт в любом случае, там будет прямой запрет на операции в головах. И прямое требование декларировать все типы, кроме стандартных, даже типы указателей на стандартные типы. И прототипы всех функций, включая main, тоже будут обязательны. Причём, main должна быть void.
0
Эксперт С++
 Аватар для Nameless One
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
26.05.2013, 16:22
taras atavin, а ты include guard'ы использовал?

Добавлено через 2 минуты
Цитата Сообщение от taras atavin Посмотреть сообщение
Причём, main должна быть void.
А как код возврата указывать?
0
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
26.05.2013, 16:23  [ТС]
Прототип её будет выглядеть так:
Code
1
:= function main () is void
, или так:
Code
1
2
:=type MainParametrType is dinamic array with begin :=index is integer end of string of utf8
:=function main (:= parametr a is MainParametrType) is void
, можно указать другую кодировку и и другие имена параметра и его типа.

Добавлено через 19 секунд
Цитата Сообщение от Nameless One Посмотреть сообщение
А как код возврата указывать?
А ни как.
0
Эксперт С++
 Аватар для Nameless One
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
26.05.2013, 16:27
Цитата Сообщение от taras atavin Посмотреть сообщение
А ни как.
Т.е. операционная система никак не сможет определить, успешно или нет завершилась программа на твоем языке?
0
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
26.05.2013, 16:33  [ТС]
Зачем он вообще нужен?

Добавлено через 4 минуты
Цитата Сообщение от Nameless One Посмотреть сообщение
Т.е. операционная система никак не сможет определить, успешно или нет завершилась программа на твоем языке?
Если программа фатально глючит, то до выхода из main всё равно не доходит, винда ничего не пишет, зато я много раз видел, как какая нибудь прога полностью отработала, завершилась и появляется сообщение о глюке и предложение переустановить прогу.
0
~ Эврика! ~
 Аватар для OhMyGodSoLong
1258 / 1007 / 74
Регистрация: 24.07.2012
Сообщений: 2,002
26.05.2013, 16:39
Цитата Сообщение от Nameless One Посмотреть сообщение
OhMyGodSoLong, а можно ссылку или пример? А то у меня не получается.
Потому и полузачёркнутое ага, что там хитрый костылёк: писать определения в хедере всё равно надо, но только можно сказать компилятору не пересобирать их при каждом долбаном включении хедера. Всё равно говн ужасно, но немного лучше, чем совсем ничего.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
// [ vector.hpp ]
#ifndef VECTOR_HPP
#define VECTOR_HPP
 
template <class T>
class vector {
    /* ... */
};
 
#include "vector.cpp"
 
#endif
 
 
// [ vector.cpp ]
#ifndef VECTOR_CPP
#define VECTOR_CPP
 
#include "vector.hpp"
 
template <class T>
vector<T>::vector()
{
    /* ... */
}
 
// ...
 
#endif
 
 
// [ supercode.cpp ]
#include "vector.hpp"
 
vector<foo> bar;
 
 
// [ megacode.cpp ]
#include "vector.hpp"
 
/* Вот эта штука сделает так, что vector<foo> здесь не будет собираться
** заново, а будет взят код, который был сгенерен для supercode.cpp.
**
** Естественно, все типы в extern надо колбасить руками. Можно в другом
** хедере собрать частоиспользуемые варианты и копипастить этот хедер везде.
**/
extern template class vector<foo>;
 
vector<foo> zog;
0
Эксперт С++
 Аватар для Nameless One
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
26.05.2013, 16:56
Цитата Сообщение от taras atavin Посмотреть сообщение
Если программа фатально глючит, то до выхода из main всё равно не доходит...
Я немного не о том. Допустим, ты пишешь консольную программу суть такова. Программа может принимать параметром имя файла и читать со стандартного ввода. Если программа принимает имя файла, то она читает данные из него. Можно передавать сразу несколько файлов…

Так вот, к чему это я. Дело в том, что программе могут быть переданы неверные данные: неправильные параметры, файлы, которые не могут быть по некоторым причинам прочитаны (допустим, нет прав на чтение). При этом твоя программа это обнаружила, выдала сообщение об ошибке и вернула операционной системе статус ошибки:

C
1
2
3
4
5
6
7
8
9
10
11
12
13
int main(void)
{
    if(input_data_is_valid)
    {
        process_input();
        return 0;
    }
    else
    {
        display_error();
        return 1;
    }
}
Это позволит процессу, который вызвал твою программу, определить, все ли прошло нормально. Например, при вызове программы из скрипта:
Bash
1
if your-sexy-program file-that-only-root-can-read; then echo "Done"; else echo "Failed:" $?; fi
Файл file-that-only-root-can-read не может быть прочитан текущим пользователем, поэтому в результате выполнения скрипта мы будет напечатано «Failed: 1».

Заметь, что ни про какие «фатальные глюки» программы в данном случае речи не идет. Программа отработала полностью корректно: она обнаружила, что не может прочитать файл, и сообщила об этом системе через код возврата.

Цитата Сообщение от taras atavin Посмотреть сообщение
Зачем он вообще нужен?
Кто «он»?

Потому и полузачёркнутое ага, что там хитрый костылёк: писать определения в хедере всё равно надо, но только можно сказать компилятору не пересобирать их при каждом долбаном включении хедера. Всё равно говн ужасно, но немного лучше, чем совсем ничего.
OhMyGodSoLong, а, ну про это я слышал.
0
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
26.05.2013, 17:17  [ТС]
Цитата Сообщение от Nameless One Посмотреть сообщение
Кто «он»?
Код возврата, конечно.
0
Эксперт С++
 Аватар для Nameless One
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
26.05.2013, 17:20
taras atavin, ну об этом выше. Чтобы процесс, который запустил твою программу, мог определить, успешно ли она завершилась.
0
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
26.05.2013, 17:29  [ТС]
Цитата Сообщение от Nameless One Посмотреть сообщение
Так вот, к чему это я. Дело в том, что программе могут быть переданы неверные данные: неправильные параметры, файлы, которые не могут быть по некоторым причинам прочитаны (допустим, нет прав на чтение). При этом твоя программа это обнаружила, выдала сообщение об ошибке и вернула операционной системе статус ошибки:
int main(void)
{
* * if(input_data_is_valid)
* * {
* * * * process_input();
* * * * return 0;
* * }
* * else
* * {
* * * * display_error();
* * * * return 1;
* * }
}
Если всё так просто, то объясни, почему я ни разу не видел, чтоб при аварийном завершении какой либо программы система хоть что то об этом написала? И что за проблема вывести сообщение об ошибке в самой программе?

Добавлено через 21 секунду
Цитата Сообщение от Nameless One Посмотреть сообщение
ну об этом выше. Чтобы процесс, который запустил твою программу, мог определить, успешно ли она завершилась.
Каким образом?

Добавлено через 3 минуты
Цитата Сообщение от Nameless One Посмотреть сообщение
поэтому в результате выполнения скрипта мы будет напечатано «Failed: 1».
Очень информативно.
0
Эксперт С++
 Аватар для Nameless One
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
26.05.2013, 17:30
Цитата Сообщение от taras atavin Посмотреть сообщение
Если всё так просто, то объясни, почему я ни разу не видел, чтоб при аварийном завершении какой либо программы система хоть что то об этом написала?
Это не аварийное завершение.

Цитата Сообщение от taras atavin Посмотреть сообщение
Каким образом?
Зависит от того, как программа вызывается. Один из примеров я уже привел.

Цитата Сообщение от taras atavin Посмотреть сообщение
Очень информативно.
Это просто пример. Подробное сообщение об ошибке обычно пишет сама программа. Суть примера была в том, что вызывающая сторона может определить, что программа сфейлилась.
0
~ Эврика! ~
 Аватар для OhMyGodSoLong
1258 / 1007 / 74
Регистрация: 24.07.2012
Сообщений: 2,002
26.05.2013, 18:07
Цитата Сообщение от taras atavin Посмотреть сообщение
Если всё так просто, то объясни, почему я ни разу не видел, чтоб при аварийном завершении какой либо программы система хоть что то об этом написала? И что за проблема вывести сообщение об ошибке в самой программе?
Потому что ОС недостаточно сообразительна, чтобы вот так просто понять, что именно надо делать в случае проблемы. Одну программу надо перезапустить, другой вывести гадости в лог и умереть, третья по пятницам должна заткнуться и молча умереть, а четвёртой надо перезагружаться днём с одним ключиком, а ночью — с другим (или с третьим, если ошибка входит в особый список). Всё это должно быть тоже запрограммировано пользователем в соответствии с его нуждами. Это геморройно сделать, если каждая программа будет выводить сообщения о проблемах по-своему, а не через единый интерфейс вроде тех самых кодов. Мир не ограничиваются только десктопами, где достаточно показать пользователю-человеку клёвое анимированное сообщение с кнопочкой [Отправить отчёт] на экране.
0
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
26.05.2013, 19:16  [ТС]
Цитата Сообщение от Nameless One Посмотреть сообщение
Это не аварийное завершение.
А тогда вернётся 0. Что выиграет программист от того, что этот ноль будет явным?

Добавлено через 1 минуту
Цитата Сообщение от OhMyGodSoLong Посмотреть сообщение
Это геморройно сделать, если каждая программа будет выводить сообщения о проблемах по-своему, а не через единый интерфейс вроде тех самых кодов.
Объясни как ты всё это запихаешь в коды возврата.

Добавлено через 41 секунду
Цитата Сообщение от OhMyGodSoLong Посмотреть сообщение
Мир не ограничиваются только десктопами, где достаточно показать пользователю-человеку клёвое анимированное сообщение с кнопочкой [Отправить отчёт] на экране.
А на ноутбуке кнопочка конечно не влезет в экран.

Добавлено через 7 минут
Моя идея заключается в том, что всякое уведомление об ошибке должно быть явным, а не зашифрованным в значении не понятного инта. Обнаружил ошибку - бросай исключение, если ошибка фатальна, то после выдачи сообщения не сбрасывай флаг состояния исключения, чтоб оно продолжало числиться не обработанным, тогда при завершении обработчика исключения будет выход и из всей программы, причём, в rax останется 0xFFFFFFFFFFFFFFFF. Или вообще не определяй обработчик, тогда оно свалится в стандартный с таким же поведением.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
26.05.2013, 19:16

Excel должно быть решения =лист2!АХ, где Х-нужная мне цифра
Всем привет! Сижу туплю уже больше часа не могу придумать как решить 1 задачу! Опишу вкратце: Есть книга Excel, в ней 2 листа. На первом...

Регулярка находит несколько вхождений там, где их попросту быть не должно
Доброго времени суток! Столкнулся с проблемой, касательно регулярных выражений: Имеется регулярка, вида...

Обычный пользователь внутри chroot'а имеет доступ к /root, где у него не должно быть прав
Дано. Пользователь victor, имеет uid 1000 и gid 1000. В /home/chroot подготовлена FS которая станет новым корнем. Написана программа: ...

Задаю функцию в маткаде, строю график, возникает ломанная, там где её вообще не должно быть
Подскажите в чём проблема: Задаю функцию в маткаде, строю график, возникает ломанная, там где её вообще не должно быть По трассировке...

написать резиновую вёрстку так чтобы при растягивании окна браузера всё оставалось там где и должно быть
доброго времени суток! ни как не могу осуществить поставленную задачу. цель: написать резиновую вёрстку так чтобы при растягивании окна...


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

Или воспользуйтесь поиском по форуму:
37
Ответ Создать тему
Новые блоги и статьи
сукцессия 29. Переход от одних деревьев на другие делать более или менее вероятностным?
anaschu 12.07.2026
Насколько смена типов микоризы — исключительное событие в двухвековой сукцессии? Оценка вероятности в пространстве параметров В текущей версии модели успешно реализован ключевой механизм. . .
сукцессия 27. Думаю, как переделывать уже написанную статью с планами на сукцессию.
anaschu 12.07.2026
Анализ соответствия модели требованиям Реализованные компоненты: Механизм закисления почвы через протонную помпу Конкуренция между типами микориз pH как триггер сукцессии C/ P соотношение. . .
Сукцессия 26. Мат модель создана.
anaschu 12.07.2026
Модель смены растительных сукцессий посредством управления грибами работает внутри небольшой ячейки почвы, восстанавливающейся после пожара, где ненадолго бывшее царство хвойных снова захватили. . .
Решил проблему с ошибкой пагинации сообщений с сервера на алгоритме обхода дерева "Эстафета хвоста".
Hrethgir 12.07.2026
Проблема была в том, что удалялась именно новая кнопка, а не старая. Ни один ИИ не обнаружил это, а сам я смог только когда с работой стало попроще и когда заставил работать будущее автономное. . .
сукцессия 25. Хронология ошибок
anaschu 12.07.2026
# От 50-тонного гриба до устойчивого леса: хроника ошибок при построении модели вековой сукцессии микоризы ## О чём эта статья В процессе построения ОДУ-модели (система дифференциальных. . .
сукцессия 24. Промежуточное общее описание модели
anaschu 12.07.2026
Хендофф: модель АМ→ЭКМ сукцессии микоризы (ризосфера, 50 лет) Содержание проекта Симуляция вековой (50 лет) экологической сукцессии в почве леса Основные участники: АМ-гриб, ЭКМ-гриб,. . .
сукцессия 23. Более физиологичная физиология, более экологичная экология, более диффурные диффуры.
anaschu 12.07.2026
Что реально нашли и починили за эти 5 часов Правило Линдемана (КПД конверсии сахара в тело, kEff) — раньше 100% полученного углерода шло прямо в биомассу гриба; теперь только kEff=0. 5 (после. . .
сукцессия 22. От артефактов к физиологии: калибровка агентной модели грибной сукцессии для воспроизведения сезонной динамики и pH-плато
anaschu 11.07.2026
Аннотация В данной работе представлена калибровка агентной модели динамики грибных сообществ (fungal-succession), направленная на устранение нефизичных артефактов (коллапс биомассы, мгновенное. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru