Форум программистов, компьютерный форум, киберфорум
Наши страницы

Вопрос о строках. - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Определить, содержит ли 4-х значное число 3 одинаковые цифры. http://www.cyberforum.ru/cpp-beginners/thread46914.html
Я сортирую, а потом сравниваю, но что то не работает :( char* mas(char* a, int s); int main(int argc, char *argv) { const int size=100; char arr; int i, k;
C++ Выбрать и упорядочить данные из текстового файла В языке С не сильна, и программа вызвала некое недоумение) Есть тестовый файл со следующими данными: 0.299 -0.410 960.20 4551.85 1.120 346.85 275.46 20.508 19.854 99.999 20.085 19.431... http://www.cyberforum.ru/cpp-beginners/thread46911.html
Координаты для вывода массива C++
Товарищи, помогите массив вывести в координатах. Делаю так: HANDLE console = GetStdHandle(STD_OUTPUT_HANDLE); COORD coord = {50,50}; const int y=3,x=3; int a={1,1,1,1,1,1,1,1,1}; int i, j;...
C++ От чего мы любим С++?
Хочу спросить наших уважаемых гуру, как истинных специалистов в области программирования на С++ несколько давно наболевших вопросов. Я уже успел попробовать всего по чуть-чуть и мне сложно...
C++ Перегруз функции http://www.cyberforum.ru/cpp-beginners/thread46829.html
Вообще задание такое разработать функцию, вычисляющую максимальный элемент: - в одномерном числовом массиве, состоящем из целых чисел; - в одномерном числовом массиве, состоящим из вещественных...
C++ Как избавиться от ошибки компоновщика? Как избавиться от ошибки компоновщика в vs2008? Сначала вылезала в мфц проектах, а теперь уже везде. Переустановка не помогает подробнее

Показать сообщение отдельно
novi4ok
551 / 504 / 8
Регистрация: 23.07.2009
Сообщений: 2,359
Записей в блоге: 1
13.08.2009, 00:21
Цитата Сообщение от #pragma Посмотреть сообщение
Выделяется память из стека,предназначенная для локальных переменных,и все локальные объекты уничтожаются по выходе из блока.
в данном случае - нет. и прав Haster: строки находятся в поле констант.

хотите убедиться - посмотрите сюда:

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
void func(){
    DWORD_PTR stackPtr;
    __asm mov [stackPtr], esp;
    cout<<"stack pointer in func: "<<stackPtr<<endl;
    char *pstr1="testestestestestestestestestestestestestestesAAA";
    cout<<"pstr1 in func: "<<pstr1<<endl;
}
 
void func2(){
    DWORD_PTR stackPtr;
    __asm mov [stackPtr], esp;
    cout<<"stack pointer in func2: "<<stackPtr<<endl;
    char *pstr1="111111111111111111111111111111111111111111111111111111222";
    cout<<"pstr1 in func2: "<<pstr1<<endl;
}
 
 
int main(...) {
    DWORD_PTR stackPtr;
    __asm mov [stackPtr], esp;
    cout<<"stack pointer in main before func() call: "<<stackPtr<<endl;
    func();
    __asm mov [stackPtr], esp;
    cout<<"stack pointer in main before func2() call: "<<stackPtr<<endl;
    func2();
    __asm mov [stackPtr], esp;
    cout<<"stack pointer in main after func2() call: "<<stackPtr<<endl;
}
выполните и посмотрите (советую в дибаггере посмотреть что расположено по данным адресам) куда указывает указатель стэка, и где находятся эти строчки. все поймете.

Добавлено через 33 минуты 56 секунд
дополню: указатели
C++
1
char *pstr1
, конечно, будут находиться именно в стэке
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.