Форум программистов, компьютерный форум 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... подробнее

Показать сообщение отдельно
kravam
быдлокодер
 Аватар для kravam
1512 / 872 / 44
Регистрация: 04.06.2008
Сообщений: 5,271
13.09.2011, 17:16     Почему глобальный объект, объявленный до main, конструируется в ней?
Всё просто, имеем код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <windows.h>
#include <stdio.h>
using namespace std;
 
class x {
 public:
 x () { 
  printf ("konstruktor\n");     
 }
};
x x_;
 
int main() {
 printf ("%x\n", main);
 getchar();
 return 0;
}
запускаем, видим:
C++
1
2
konstruktor
401290
последнее значение адрес main, у каждого своё.
Так, открываем прогу в отладчике OllyDbg, стоим на точке входа (у всех своя, у меня) 401220, ставим бряк на 401290, на main, запускаем. Видим, что бряк сработал, но конструктор не вызвался! Чуть пониже в окне дизассембра видим вызов printf с аргументом "konstruktor", то есть объект конструируется в main. Как такое может быть? Компилятор g++. Спасибо, кто откликнется.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 11:22. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru