![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| Xenon |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1529 Регистрация: 12.4.2006 Репутация: 11 Всего: 50 |
Насчет stdafx.h - это я его ненароком сунул. А конструкция
имхо, считается, хорошим стилем Это сообщение отредактировал(а) XenonSk - 8.6.2006, 23:59 |
|||
|
||||
| LPBOY |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 228 Регистрация: 12.7.2005 Репутация: 20 Всего: 20 |
+1 Правда, параметры и return 0 можно опускать:
--------------------
Каждый человек по-своему прав, а по-моему нет... |
|||
|
||||
| Xenon |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1529 Регистрация: 12.4.2006 Репутация: 11 Всего: 50 |
LPBOY А зачем тогда писать int main, если ты ничего не ретурнишь?
|
|||
|
||||
| LPBOY |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 228 Регистрация: 12.7.2005 Репутация: 20 Всего: 20 |
В этом случае автоматически ретурнится 0, если выполнилась последняя инструкция функции main.
--------------------
Каждый человек по-своему прав, а по-моему нет... |
|||
|
||||
| DaJunior |
|
||||
![]() Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 8.6.2006 Где: за компьютерным с толом Репутация: -1 Всего: нет |
сообщение 8.6.2006, 23:57
Это с каких это пор такая конструкция считается хорошим стилем?!?!?!?
Вообще int main() означает, что программа после выполнения вернет значение типа int, и все... если так пишешь, то в конце гл. ф-ии соизволь написать return 0; Если ты пишешь void main(void), то это значит, что ф-ия не возвращает значений, и не принимает их в качестве параметров. А вообще мое мнение - если твоя прога ничего не возвращает, то и напиши ты void перед main'ом, потом самому понятней будет. /////////////////////////////////////////////////////////////////////////////////////////////////// И вообще, если уж пошла речь о правильном стиле программирования, то лучше почитайте книгу "Правила программирования на Си и СИ++(Ален И.Голуб)" - рекомендую всем! А чтобы не возникало
|
||||
|
|||||
| Кнером |
|
|||
|
тОрмоз ![]() ![]() Профиль Группа: Участник Сообщений: 346 Регистрация: 24.5.2006 Где: Санкт-Петербург Репутация: нет Всего: 19 |
DaJunior, об этом и более точно уже написал LPBOY.
|
|||
|
||||
| MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 52 Всего: 207 |
далеко не бред например в юниксах (быть может не только в них) по завершении программы оболочка записывает в специальную переменную код завершения. Нормальным кодом завершения считается 0, и многие скрипты его проверяют. В случае если main не возвращает ничего, то код завершения - в общем случае произвольный, случайный. Оттого даже правильно отработавшая программа с внешней точки зрения может оказаться неправильно отработавшей Это сообщение отредактировал(а) MAKCim - 9.6.2006, 09:43 -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
| Xenon |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1529 Регистрация: 12.4.2006 Репутация: 11 Всего: 50 |
DaJunior, Ну тогда давай вообще все правила хорошего тона будем считать бредом и будем писать код кое-как, что только самому разработчику понятно.
Есть же, блин, кананоы определенные. |
|||
|
||||
| Кнером |
|
|||
|
тОрмоз ![]() ![]() Профиль Группа: Участник Сообщений: 346 Регистрация: 24.5.2006 Где: Санкт-Петербург Репутация: нет Всего: 19 |
||||
|
||||
| harper |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 53 Регистрация: 29.5.2006 Репутация: нет Всего: нет |
кстати, а почему << оператор вывода? это же оператор сдвига применительно к объектам класса потоков перегруженный так что осуществляет вывод. или нет?
|
|||
|
||||
| MAKCim |
|
||||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 52 Всего: 207 |
-------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
||||
|
|||||
| Oleg_Ci |
|
||||
![]() Friend ![]() ![]() Профиль Группа: Участник Сообщений: 485 Регистрация: 28.5.2006 Где: Новосиб.обл. Репутация: 3 Всего: 30 |
Перегруженный оператор '<<' называется оператором вставки, в том облике как его представляет класс ostream. Класс ostream включает функцию 'operator<<()', а 'cout' является объектом класса ostream, соответственно оператор '<<' (функция-элемент) может вызываться обьектом 'cout' ( cout << ). Или по другому - ofstream включает ещё методы 'put()', 'write()', соответственно можно написать cout.put('A'); cout.write("aaa",3); ,т.е. 'cout' - это объект класса, '<<' - это метод класса, а 'cout<<' - а эта конструкция, вроде называется - вызов функции. Функция-член 'operator<<' принимает 2 аргумента , 1-ссылка на класс ostream (cout<<"aa" - левый операнд), 2-что напечатать надо (cout<<"aa" - правый операнд), поэтому когда пишем 'cout<<"aa"' мы на самом деле вызываем функцию 'operator<<'. Ещё можно написать вот так: operator<<(cout,"aaa").
|
||||
|
|||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |