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

[C++] Взятие адреса конструктора. Физическое время существование объекта. - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Как узнать, какой функции какой файл *.a соответсвует? http://www.cyberforum.ru/cpp/thread446938.html
Друзья! Работаю с mingw, вот там надо так: если, допустим, вызываешь API- функцию, то надо подключать соответствующую библиотеку (?), делается это ключом линкёра примерно так: -lwww файл Эта команда значит, что libwww.a, находящийся в папке lib, подключится к проекту и что это значит Я НЕ ЗНАЮ. Да и честно говоря, как программиста приложений меня не должно это волновать. Но иногда я не...
C++ Про деструктор и утечку памяти Доброе время суток. Вот что дано: #include <string> #include <vector> class Symbols { protected: void add(std::string str); // добавления символа virtual void inputData() = 0; // заполнение вектора data нужными символами http://www.cyberforum.ru/cpp/thread446749.html
Создать exe, запускающий exe C++
Говорю сразу: я ничего не смыслю в програмировании; зачем подался на такой форум? Надеюсь получить ответ на свой вопрос,упавая на то, что его реализация не такая сложная. У меня возникла потребность, создать exe файл, который запускает другую программу. То есть: просто тупо играет роль посредника. Другими словами: что-то наподобие ярлыка, только exe , а не lnk. Существует ли решение...
Странное поведение bool C++
Помогал отлаживать код и мы наткнулись на удивительное. Кодер скрыл отображение варнингов в VS2010. Метод М1 не всегда возвращал значение типа bool. И потому в методе М2, вызывающем метод М1, случилась такая ситуация, что: M1()!=true & M1()!=false Это нормальное поведение компилятора? Логика то понятна, но почему это вообще варнинг, а не еррор как в си шарпе?
C++ Есть два потока и глобальный массив, могут ли потоки перепутать элементы глобального массива или другого контейнера? http://www.cyberforum.ru/cpp/thread444937.html
Начать с массивов, допустим То есть ситуация такая: пусть имеется два потока и глобальный массив элементов int из двух элементов, один поток выводит в цикле значение нулевого элемента, а второй- значение первого; вот сижу думаю- могут ли они перепутать элементы? С одной стороны не могут потому как обращение к элементу по индексу однозначаено идентифицирует этот элемент; а с другой стороны,...
C++ Как средствами BC 3,1 запросить свободное место на указанном жёстком диске? Извиняюсь, если создал лишнюю тему, но ничего по своей проблемке я вроде не заметил. Если что-то есть, поправьте. А вопрос в следующем: как средствами BC 3,1 запросить свободное место на указанном жёстком диске? подробнее

Показать сообщение отдельно
ValeryS
Модератор
6406 / 4872 / 447
Регистрация: 14.02.2011
Сообщений: 16,169
17.02.2012, 12:30     [C++] Взятие адреса конструктора. Физическое время существование объекта.
Цитата Сообщение от Evg Посмотреть сообщение
Если компилятор вместо однократного выделения в стеке 12 байт построит 3 раза выделение по 4 байта, то точно так же получится корректный код
или просто отдаст 3 регистра (будет сие означать выделение памяти)???
вот такое творение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
class A
{
public:
int a;
};
int fnc()
{
A d;
A c;
d.a=4;
c.a=5;
return d.a+c.a
}
может превратится вот в такой код
Assembler
1
2
3
4
mov edx,4
mov eax,5
add eax,edx
ret
где здесь конструктор,где выделение памяти (а объекты есть)

или даже в такой
Assembler
1
2
mov eax,9
ret
оптимизатор посчитал лишним заморочку с объектами и выдал просто ответ
а может вообще выбросил функцию оставив значение

ни о каких объектах, конструкторах в бинарном коде говорить не приходится
о чем Evg, пытается донести
 
Текущее время: 22:42. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru