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

Почему глобальный объект, объявленный до main, конструируется в ней? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Помогите разобраться с задачей, решение должно быть в структуре http://www.cyberforum.ru/cpp-beginners/thread351088.html
Помогите разобраться с задачей, решение должно быть в структуре задача.По данным сведениям об учениках класса определить среднюю массу мальчиков .Кто из них самый тяжелый
C++ Даны действительные числа x,y. Определить, принадлежит ли точка с координатами x,y заштрихованной части плоскости Даны действительные числа x,y. Определить, принадлежит ли точка с координатами x,y заштрихованной части плоскости. Прошу помочь с выведением формулы для определения, принадлежит ли точка заштрихованной части плоскости. Насчёт "Если x>=0 и y>=1 или x<=0 и y>=1, то принадлежит" сделал условие. Проблемы начинаются, когда y<1. Вот тут, собственно и нужна ваша помощь. Заранее благодарен. http://www.cyberforum.ru/cpp-beginners/thread351087.html
C++ class Point
#include<iostream> #include<math.h> #include<stdlib.h> using namespace std; class Point { Point(float,float); ~Point(){}
C++ создание фигур
создать фигуры треугольник, квадрат и прямоугольник, используя класс точка, фигуры вывести на экран mfc, помогите пожалуйсто с классом фигура что и как пишется #include "iostream" #include "windows.h" using namespace std; class dot { private: int X,Y;
C++ Структуры: Организовать базу данных для спортивного клуба http://www.cyberforum.ru/cpp-beginners/thread351057.html
Организовать базу данных для спортивного клуба со следующей информацией про штангистов: – ФИО; – дата рождения (дд:мм:рррр); – вес. Вывести на экран список спортсменов, отсортированный по весовым категориям (I – до 50кг; II – 51–60кг; III – 61–70кг; IV – 71–80кг; V – свыше 80кг). Вот, что у меня есть, дальше ничего не могу сделать((( Помогите пожалуйста, и если можно, с комментариями) ...
C++ Сортировка файлов Здравствуйте уважаемые форумчане)) С праздником Вас... Вот кто нибудь подскажет как сортируются файлы? методы Трех ленточную мне двли и БМ(Боура моура) Вот у кого может пример есть? на СИ\С++\С# еще сможете подсказать как это работает ну на уровне компьютера что там из чего он берет или записывает куда... ну что то на типо этого... все таки файлы же работа не в ROM памяти Добавлено через 1... подробнее

Показать сообщение отдельно
alex_x_x
бжни
 Аватар для alex_x_x
2441 / 1646 / 84
Регистрация: 14.05.2009
Сообщений: 7,163
13.09.2011, 21:39     Почему глобальный объект, объявленный до main, конструируется в ней?
Цитата Сообщение от Evg Посмотреть сообщение
Более правильным было бы сказать "до того, как исполнится первый оператор main'а". Потому как некоторые компиляторы вызов глобальных конструкторов встраивают в самое начало main'а
Цитата Сообщение от Сыроежка Посмотреть сообщение
Нет, это будет неправильно, так как это не соответсвует букве стандарта. Это разработчики компиляторов делают на свой страх и риск!
It is implementation-defined whether or not the dynamic initialization (8.5, 9.4, 12.1, 12.6.1) of an object of
namespace scope is done before the first statement of main. If the initialization is deferred to some point
in time after the first statement of main, it shall occur before the first use of any function or object defined
in the same translation unit as the object to be initialized.31) [Example:
// – File 1 –
#include "a.h"
#include "b.h"
B b;
A::A(){
b.Use();
}
// – File 2 –
#include "a.h"
A a;
// – File 3 –
#include "a.h"
#include "b.h"
extern A a;
extern B b;
int main() {
a.Use();
b.Use();
}
It is implementation-defined whether either a or b is initialized before main is entered or whether the
initializations are delayed until a is first used in main
. In particular, if a is initialized before main is
entered, it is not guaranteed that b will be initialized before it is used by the initialization of a, that is,
before A::A is called. If, however, a is initialized at some point after the first statement of main, b will
be initialized prior to its use in A::A. ]
собственно
 
Текущее время: 02:32. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru