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

Размер стека - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Непонятное поведение list, vector в другом классе http://www.cyberforum.ru/cpp-beginners/thread923477.html
Салют. class _auxObserver { --- list<gmObjBase*> mObservedObj; vector<int> b; public: _auxObserver();
C++ Программы - оценка труда Каким образом оценивают стоимость программы? хоть как-то примерно. По сути можно продать Hello World прогармму за 100 долларов при сильном желании) Но в действительности, по каким критерия оценивается? http://www.cyberforum.ru/cpp-beginners/thread923451.html
C++ new и delete
Ошибка, незнаю как для моего класса выделить память. Как исправить? class MyClass { int a, b, c; public: MyClass(int a, int b, int c) }
Ошибка в решении задачи "Судоку" (acmp) C++
Здравствуйте. Судоку размера n называется квадрат со стороной n2, разделенный на n2 средних квадратов со стороной n, каждый из которых разделен на n2 маленьких квадратов. В каждом маленьком квадрате записано число от 1 до n2. Судоку называется правильным, если в каждом столбце, каждой строке и каждом среднем квадрате встречаются все числа от 1 до n2. Недавно Вася нарисовал Судоку...
C++ Сравнить два int числа расположенных в char* строке http://www.cyberforum.ru/cpp-beginners/thread923400.html
Всем првиет. Имею проблему связанную с быстродействием. Нужно сравнить 2 строки на больше/меньше/равно. Каждый символ строки - число. строка строго 7 символов, т.е. 7 чисел. При приведении к int через функцию atoi() идет большая задержка (т.к. мильен итераций цикла, где находится данная проверка). Посоветуйте алгоритм сравнения.
C++ Неправельно работает конструктор(наверно) Вот класс и вот конструктор думаю знающие люди разберутся я создаю 1 элемент класса точнее указатель first на элемент который будет головным элементом динамического списка... если запустите программу увидите что создается 2 элемента и потом деструктор уничтожает 2й НО! не уничтожает первый и программа завершается..Почему?и работать не через указатель а создавать просто элементы класса то все... подробнее

Показать сообщение отдельно
Kastaneda
Модератор
Эксперт С++
 Аватар для Kastaneda
4237 / 2770 / 218
Регистрация: 12.12.2009
Сообщений: 7,104
Записей в блоге: 1
Завершенные тесты: 1
15.07.2013, 18:27     Размер стека
Цитата Сообщение от Dani Посмотреть сообщение
Kastaneda, не откажусь
Вообще то я предложил вариант решения проблемы, а не написать готовый код
Вот, но это кривое решение, т.к. писал практически на коленке:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include <iostream>
 
char* print_seq(int x)
{
    if (!x) {
        char *p; 
        // самое "глубокое" место на стеке, поэтому запоминаем указатель
        __asm {
            mov p, esp
        }
        return p;
    }
 
    char *p = print_seq(x-1);
    std::cout << x << " ";
    return  p;
}
 
int main()
{
    char *p1;
    __asm {
        mov p1, esp
    }
 
    char *p2 = print_seq(1000);
 
    std::cout << std::endl << "Stack size = " << p1 - p2 << std::endl;
}
кривизна в том, что в рекурсивной функции еще создаются указатели, которые тоже занимают место на стеке, т.е. вывод не совсем правильный. Можно их вынести в global scope, а можно еще что-нибудь придумать, я только общую идею показал.
 
Текущее время: 18:43. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru