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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Ultrator
11 / 7 / 1
Регистрация: 28.04.2009
Сообщений: 219
#1

Вопрпос про const: в какой области памяти они находятся, и где это объявлять ? - C++

28.04.2009, 15:08. Просмотров 714. Ответов 3
Метки нет (Все метки)

Приветствую.
У меня вот такая задача - завести массив констант, причём он используется ТОЛЬКО одной функцией (не main), и поэтому, объявить (и инициализировать) хотелось тоже внутри этой функции.
Так я и сделал:
C++
1
2
3
4
5
f(){
  const unsigned int h[31]={
  //здесь - значения (через запятую)
  };
}
Но! Не могу понять, ГДЕ компилятор будет его располагать: в сегменте данных или в стеке, как и все локальные переменные?
(Таблица довольно большая, при каждом вызове f гонять массив констант в стек/из стека - не хочется.)
Может, вместо const написать static ?
Искал, но в учебниках ничего об этом нет.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.04.2009, 15:08     Вопрпос про const: в какой области памяти они находятся, и где это объявлять ?
Посмотрите здесь:

Создать матрицу 7х7, найти максимальный и минимальный элементы, и поменять строки где они находятся - C++
Нужно создать масив 7 на 7 найти максимальный и минимальный елемент и поменять строки где находятся эти елементы Вот собственно написал,...

Даны названия 20 стран и частей света, где они находятся. Определить, есть ли среди них страны Азии и Африки - C++
Даны названия 20 стран и частей света, в которых они находятся. Определить, есть ли среди них страны, находящиеся в Африке или в Азии....

Что это bool operator== (const CLASS&) const; - C++
Что это? class CLASS { public: bool operator== (const CLASS&) const; ...

В какой области памяти хранится указатель (сама переменная, которая хранит адрес)? - C++
Привет! В общем у меня возник небольшой вопрос :) Если мы объявляем указатель, выделяем ему память, то память выделяется в куче, а адрес...

Где лучше эти переменные объявлять? - C++
Посмотрите пожалуйста на следующий код (код сишный, но компилировался как C++, так как в чистом Си нет ООП... Но не это меня в данном...

Где объявлять переменную: перед циклом, или внутри класса - C++
Подскажите, где правильно объявить переменную. Если объявить внутри цикла, то сузится область ее видимости, но она будет объявляться...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ISergey
Maniac
Эксперт С++
1373 / 884 / 52
Регистрация: 02.01.2009
Сообщений: 2,653
Записей в блоге: 1
28.04.2009, 15:18     Вопрпос про const: в какой области памяти они находятся, и где это объявлять ? #2
Цитата Сообщение от Ultrator Посмотреть сообщение
ГДЕ компилятор будет его располагать
должоно поместить в неизменяемую статическую область памяти
CheshireCat
Эксперт С++
2892 / 1241 / 78
Регистрация: 27.05.2008
Сообщений: 3,364
28.04.2009, 15:24     Вопрпос про const: в какой области памяти они находятся, и где это объявлять ? #3
Для распространенных виндовых компиляторов - в сегменте инициализированных константных данных, .rdata. И никуда "гонять" его не будет.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.04.2009, 15:33     Вопрпос про const: в какой области памяти они находятся, и где это объявлять ?
Еще ссылки по теме:

int const * const foo(const int* param) const - разъясните значение квалификаторов - C++
int const * const foo(const int* param) const -----1------2----------3----------------4 1: ? 2: делает содержимое массива или...

количество чисел, совпадающих с номером столбца, в которых они находятся - C++
Задача такая: Дана целочисленная прямоугольная матрица. Определить: 1) сумму элементов тех строк, которые содержат хотя бы один...

Как ввести числа из txt, в котором они находятся на каждой строчке? - C++
Здравствуйте)) появилась сложненькая задачка и даже я не забаненый в гугле не смог толком найти и понять как реализовать следующие 3...

Определить максимальный и минимальный элементы матрицы и поменять столбцы, в которых они находятся - C++
Задана матрица целых чисел. Определить максимальный и минимальный элементы этой матрицы и поменять столбцы, в которых они находятся.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Ultrator
11 / 7 / 1
Регистрация: 28.04.2009
Сообщений: 219
28.04.2009, 15:33  [ТС]     Вопрпос про const: в какой области памяти они находятся, и где это объявлять ? #4
должоно поместить в неизменяемую статическую область памяти
в сегменте инициализированных константных данных
Ура...
Yandex
Объявления
28.04.2009, 15:33     Вопрпос про const: в какой области памяти они находятся, и где это объявлять ?
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru