Модераторы: Daevaorn

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Какая функция выполняется пер, И где же стандарт???? 
:(
    Опции темы
TeeT
Дата 8.12.2005, 10:32 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











А как же стандарт, того что функция main(), выполнится первой smile
Код

#include <iostream.h>
#include <stdlib.h>

class mc
{
 public:
  mc(){
   cout<<"Constructor\n"; system("pause");
   exit(0);
  };

 ~mc(){
  cout<<"Destructor\nWere is the main???\n"; system("pause");
 };
};

mc m;

int main(int argc, char* argv[])
{
 cout<<"MAIN";
 system("pause");
  return 0;
}


Разве это где нибудь написано????
  Вверх
Neitron
Дата 8.12.2005, 10:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 580
Регистрация: 3.10.2005
Где: Москва

Репутация: 2
Всего: 5



По стандарту, сначало создаются глобальные переменные, а потом вызывается main().
P.S никогда для "этого" не пиши system("pause")

Это сообщение отредактировал(а) Neitron - 8.12.2005, 10:35


--------------------
Хороший программист никогда ничего не делает хорошо с первого раза. Он понимает важность патчей.
Ⓘ ⓁⒾⓀⒺ ⓂⓄⓏⒾⓁⓁⒶ
PM MAIL   Вверх
TeeT
Дата 8.12.2005, 10:41 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Цитата(Neitron @ 8.12.2005, 10:34)
P.S никогда для "этого" не пиши system("pause")

Ну а кусок из книги можешь показать где это написано?? smile

А чем пользоватся, если не system-ом smile
  Вверх
Void
Дата 8.12.2005, 10:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


λcat.lolcat
****


Профиль
Группа: Участник Клуба
Сообщений: 2206
Регистрация: 16.11.2004
Где: Zürich

Репутация: 40
Всего: 173



Цитата(Neitron @ 8.12.2005, 12:34)
По стандарту, сначало создаются глобальные переменные, а потом вызывается main().

Кстати, нет. До вызова main должна произойти только zero-innitialization, а вызов конструкторов реализация имеет право отложить до первого использования объектов со static storage duration. См. 3.6.2/3.


--------------------
“Coming back to where you started is not the same as never leaving.” — Terry Pratchett
PM MAIL WWW GTalk   Вверх
Neitron
Дата 8.12.2005, 10:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 580
Регистрация: 3.10.2005
Где: Москва

Репутация: 2
Всего: 5



9.4.1. Страуструп.

Цитата
А чем пользоватся, если не system-ом

Например:
cin >> "";
getch();

Цитата

См. 3.6.2/3.

Не нашел такой главы...
Страуструп. Специальное издание.

Это сообщение отредактировал(а) Neitron - 8.12.2005, 11:00


--------------------
Хороший программист никогда ничего не делает хорошо с первого раза. Он понимает важность патчей.
Ⓘ ⓁⒾⓀⒺ ⓂⓄⓏⒾⓁⓁⒶ
PM MAIL   Вверх
TeeT
Дата 8.12.2005, 10:58 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











А ссылочку можешь, дать, еси да, то дай smile
  Вверх
Neitron
Дата 8.12.2005, 11:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 580
Регистрация: 3.10.2005
Где: Москва

Репутация: 2
Всего: 5



Я не знаю, где Страуструп есть в электронном виде.


--------------------
Хороший программист никогда ничего не делает хорошо с первого раза. Он понимает важность патчей.
Ⓘ ⓁⒾⓀⒺ ⓂⓄⓏⒾⓁⓁⒶ
PM MAIL   Вверх
Void
Дата 8.12.2005, 11:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


λcat.lolcat
****


Профиль
Группа: Участник Клуба
Сообщений: 2206
Регистрация: 16.11.2004
Где: Zürich

Репутация: 40
Всего: 173



Цитата(Neitron @ 8.12.2005, 12:57)
Не нашел такой главы...
Страуструп. Специальное издание.

Это была ссылка на стандарт.
Добавлено @ 11:01
Цитата(Neitron @ 8.12.2005, 13:00)
Я не знаю, где Страуструп есть в электронном виде.

Там же где и стандарт. Искать Anatolix wiki в гугле.


--------------------
“Coming back to where you started is not the same as never leaving.” — Terry Pratchett
PM MAIL WWW GTalk   Вверх
Neitron
Дата 8.12.2005, 11:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 580
Регистрация: 3.10.2005
Где: Москва

Репутация: 2
Всего: 5



Спасибо, но чесно сказать мне все равно на глобальные переменные, так как ничто даже порядок их выполнения, один за другим, стандарт не гарантирует.


--------------------
Хороший программист никогда ничего не делает хорошо с первого раза. Он понимает важность патчей.
Ⓘ ⓁⒾⓀⒺ ⓂⓄⓏⒾⓁⓁⒶ
PM MAIL   Вверх
TeeT
Дата 8.12.2005, 11:09 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Цитата(Neitron @ 8.12.2005, 10:57)
Например:
cin >> "";
getch();

А на размер файлов ты смотрел???
еси пишешь cin>>"" прога не воспринимает Enter и пробел smile
p.S. компилил на Builder 6
  Вверх
Neitron
Дата 8.12.2005, 11:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 580
Регистрация: 3.10.2005
Где: Москва

Репутация: 2
Всего: 5



system("pause") - заставляет прогамму вызывать дополнительный процесс....


--------------------
Хороший программист никогда ничего не делает хорошо с первого раза. Он понимает важность патчей.
Ⓘ ⓁⒾⓀⒺ ⓂⓄⓏⒾⓁⓁⒶ
PM MAIL   Вверх
TeeT
Дата 8.12.2005, 11:29 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Цитата(Neitron @ 8.12.2005, 11:15)
system("pause") - заставляет прогамму вызывать дополнительный процесс....

Спасибо, конечно, но я system-ом пользуюсь только при написании и отладке программы.

Кстати вот кусок из ХЭЛПА:

Every C and C++ program must have a program-startup function.

Console-based programs call the main function at startup.
Windows GUI programs call the WinMain function at startup.

Where you place the startup function is a matter of preference. Some programmers place main at the beginning of the file, others at the end. Regardless of its location, the following points about main always apply.
  Вверх
blackofe
Дата 8.12.2005, 20:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 173
Регистрация: 29.11.2005

Репутация: 4
Всего: 4



все правильно. в хэлпе же не сказано, что кроме функций main или WinMain при старте больше ничего не должно вызываться smile.

кстати, а отладчиком отлаживать слабо? для чего придумали breakpoint'ы?

Это сообщение отредактировал(а) blackofe - 8.12.2005, 20:10
PM MAIL   Вверх
nikitao
Дата 8.12.2005, 21:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кот-программист
***


Профиль
Группа: Завсегдатай
Сообщений: 1206
Регистрация: 30.8.2005
Где: Спб

Репутация: 1
Всего: 26



Бррррррррр,я запутался.
1.TeeT ,пиши в программе вместо
Код

system("PAUSE");

так
Код

getch();

Это необходимо не только из-за процессов,но и из-за переносимости кода прежде всего.

2.Вопрос smile :
Что такое стандарт?В смысле это международный документ или что?Страуструп и ему подобные описывают стандарт ,но это не сам стандарт.Соответственно где сам стандарт и стоит ли его читать(Есть ли там что то полезное или все Страуструп описал в своем издании С++). smile

3.В инете нет 3 издания Страуструпа(по моим сведениям),но вот 2 точно есть.Могу линк сбросить если надо.



--------------------
Жизнь - печальная штука.
PM MAIL ICQ Skype GTalk   Вверх
Void
Дата 8.12.2005, 22:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


λcat.lolcat
****


Профиль
Группа: Участник Клуба
Сообщений: 2206
Регистрация: 16.11.2004
Где: Zürich

Репутация: 40
Всего: 173



Цитата(nikitao @ 8.12.2005, 23:56)
Что такое стандарт?В смысле это международный документ

Да.

Цитата(nikitao @ 8.12.2005, 23:56)
Соответственно где сам стандарт

См. выше.

Цитата(nikitao @ 8.12.2005, 23:56)
и стоит ли его читать

Полезен для уточнения многих вопросов. Можно использовать его как ultima ratio в любых спорах по поводу C++.
Читать подряд - нет, если не хочешь, чтобы тебя увезли санитары в рубашке с не по росту длинными рукавами.

Цитата(nikitao @ 8.12.2005, 23:56)
Есть ли там что то полезное или все Страуструп описал в своем издании С++)

В TC++PL Страуструпа дан огромный объем информации, но некоторые тонкости опущены.

Цитата(nikitao @ 8.12.2005, 23:56)
В инете нет 3 издания Страуструпа(по моим сведениям)

Русского нет, английский вариант есть.

Это сообщение отредактировал(а) Void - 8.12.2005, 22:05


--------------------
“Coming back to where you started is not the same as never leaving.” — Terry Pratchett
PM MAIL WWW GTalk   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1011 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.