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

Как это работает? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Составьте программу, которая подсчитывает ко-личество бактерий на заданное вами целое значение момента времени. http://www.cyberforum.ru/cpp-beginners/thread357617.html
Каждая бактерия делится на две в течение одной минуты. В начальный момент времени имеется одна бактерия. Составьте программу, которая подсчитывает ко-личество бактерий на заданное вами целое значение момента времени.
C++ Алгоритм заполнения алфавита В общем, сказали зашифровать свою фамилию квадратом Полибия. Сделал матрицу - но мне нужно, чтобы вместо единиц были буквы в алфавитном порядке. Как этом можно реализовать? Подскажите пожалуйста. Вот мой "гениальный код" int _tmain(int argc, _TCHAR* argv) { int** M; // указатель указателя // int n; // количество строк int n=5; // количество строк http://www.cyberforum.ru/cpp-beginners/thread357606.html
C++ Как сгенерировать строку длинной L
как сгенерировать строку длинной L?
C++ Отброс дробной части
как можно отбросить дробную часть(не округлить) от переменной?
C++ Идет n-я секунда суток. Определить, сколько полных часов и полных минут прошло до этого момента. http://www.cyberforum.ru/cpp-beginners/thread357578.html
Идет n-я секунда суток. Определить, сколько полных часов и полных минут прошло до этого момента.
C++ Задача сродни отчетникам... Доброго времени суток! Помещаю в этот форум т. к. задача, скорее всего, решается элементарно, но новичком себя назвать не могу... Значит, дело обстоит так: есть шаблон файла(это файл конфигурации виртуального хоста). Выглядит он так: <VirtualHost *:80> ServerName {__SERVERNAME__} ServerAlias {__SERVERALIAS__} ServerAdmin {__SERVERADMIN__} DocumentRoot {__DOCUMENTROOT__} <Directory... подробнее

Показать сообщение отдельно
ISergey
Maniac
Эксперт С++
1372 / 883 / 52
Регистрация: 02.01.2009
Сообщений: 2,652
Записей в блоге: 1
28.09.2011, 18:11     Как это работает?
Цитата Сообщение от Chelioss Посмотреть сообщение
Похоже я понял, почему работает. Переменная уничтожается, но та область памяти, в которой хранилась значение 5, остается не измененной, т.е. в ней по прежнему находится набор битов соответствующей цифре 5.
Должно быть так...
но компилятор по хитрому сделал))
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
int *fun()
{
    int a = 5;
    return &a;
}
int main()
{
    int *ptr = fun();
    std::cout << *ptr;
00401000 8B 0D 48 20 40 00    mov         ecx,dword ptr [__imp_std::cout (402048h)]  
00401006 6A 05                push        5  ; !
00401008 FF 15 44 20 40 00    call        dword ptr [__imp_std::basic_ostream<char,std::char_traits<char> >::operator<< (402044h)]  
    system( "pause" );
0040100E 68 F4 20 40 00       push        offset string "pause" (4020F4h)  
00401013 FF 15 A8 20 40 00    call        dword ptr [__imp__system (4020A8h)]  
00401019 83 C4 04             add         esp,4  
    return 0;
0040101C 33 C0                xor         eax,eax  
}
0040101E C3                   ret
Проще говоря код так переделал..
C++
1
std::cout << 5 ;
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru