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

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

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

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

28.04.2009, 15:08. Просмотров 698. Ответов 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: в какой области памяти они находятся, и где это объявлять ?
Посмотрите здесь:

количество чисел, совпадающих с номером столбца, в которых они находятся C++
Пояснить про const в возвращаемом типе функции C++
Где лучше эти переменные объявлять? C++
C++ Добавить в программу фрагмент в котором определяется расстояние между судами если они находятся на одной долготе)
Создать матрицу 7х7, найти максимальный и минимальный элементы, и поменять строки где они находятся C++
C++ Где объявлять переменную: перед циклом, или внутри класса
C++ LPCTSTR - это const wchar_t*?
Даны названия 20 стран и частей света, где они находятся. Определить, есть ли среди них страны Азии и Африки C++
C++ Как ввести числа из txt, в котором они находятся на каждой строчке?
Найти и вывести на печать все нулевые элементы матрицы и указать в каких строках и столбцах они находятся C++
C++ Определить максимальный и минимальный элементы матрицы и поменять столбцы, в которых они находятся

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ISergey
Maniac
Эксперт С++
 Аватар для ISergey
1345 / 878 / 51
Регистрация: 02.01.2009
Сообщений: 2,643
Записей в блоге: 1
28.04.2009, 15:18     Вопрпос про const: в какой области памяти они находятся, и где это объявлять ? #2
Цитата Сообщение от Ultrator Посмотреть сообщение
ГДЕ компилятор будет его располагать
должоно поместить в неизменяемую статическую область памяти
CheshireCat
Эксперт С++
2910 / 1238 / 78
Регистрация: 27.05.2008
Сообщений: 3,321
28.04.2009, 15:24     Вопрпос про const: в какой области памяти они находятся, и где это объявлять ? #3
Для распространенных виндовых компиляторов - в сегменте инициализированных константных данных, .rdata. И никуда "гонять" его не будет.
Ultrator
11 / 7 / 1
Регистрация: 28.04.2009
Сообщений: 219
28.04.2009, 15:33  [ТС]     Вопрпос про const: в какой области памяти они находятся, и где это объявлять ? #4
должоно поместить в неизменяемую статическую область памяти
в сегменте инициализированных константных данных
Ура...
Yandex
Объявления
28.04.2009, 15:33     Вопрпос про const: в какой области памяти они находятся, и где это объявлять ?
Ответ Создать тему
Опции темы

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