2 / 2 / 1
Регистрация: 21.11.2011
Сообщений: 183
|
||||||||||||||||
1 | ||||||||||||||||
С-строки. Где храняться? Когда удаляются?01.08.2012, 20:09. Просмотров 704. Ответов 13
Метки нет Все метки)
(
есть, к примеру, такой класс
пример 2.
0
|
|
01.08.2012, 20:09 | |
Где в памяти храняться данные моего приложения? Где храняться скрипты на страницах? Где храняться иконки для LibreOffice? Где можно посмотреть когда включался и когда выключался компьютер? |
|
Каратель
![]() |
|
01.08.2012, 20:31 | 2 |
https://www.cyberforum.ru/blogs/18334/blog97.html
Добавлено через 36 секунд именно Добавлено через 3 минуты не выдает ошибки для поддержки обратной совместимости, слишком много кодов с таким вот
1
|
Заблокирован
|
||||||
01.08.2012, 21:47 | 3 | |||||
потому что невнимательно читаешь учебники. У тебя конструктор с параметром по умолчанию, и если ты создаешь объект без указания параметра инициализации, то он инициализируется параметром по умолчанию. Невнятно написал, но разберешь и поймешь.
пример
указатели имеют разные адреса. Адрес литерала, на который они указывают один.
1
|
В астрале
![]() 8029 / 4786 / 655
Регистрация: 24.06.2010
Сообщений: 10,558
|
||||||
02.08.2012, 00:16 | 4 | |||||
alkagolik,
0
|
В астрале
![]() 8029 / 4786 / 655
Регистрация: 24.06.2010
Сообщений: 10,558
|
||||||
02.08.2012, 00:26 | 6 | |||||
alkagolik, Согласен абсолютно, но следуя стандарту пример стоит немного поменять.
0
|
2 / 2 / 1
Регистрация: 21.11.2011
Сообщений: 183
|
|
02.08.2012, 00:34 [ТС] | 7 |
,
- Спасибо!
- Я не много другое спрашивал (мне просто было непонятно, почему при завершении работы конструктора, не освобождается память из под локальной переменной name, а она как оказалось неявным образом статическая...), коряво возможно задал вопрос, извиняюсь=) - да, накосячил. - Почему печально char* в C++? Что не бывает случаев, когда полезней char* вместо string использовать?
0
|
В астрале
![]() 8029 / 4786 / 655
Регистрация: 24.06.2010
Сообщений: 10,558
|
|
02.08.2012, 00:38 | 8 |
Alberto_Timakov, Только с Си API (и мб других языков куда можно передать только указатель, не объект). В других случаях очевидно предпочтительнее string.
0
|
2 / 2 / 1
Регистрация: 21.11.2011
Сообщений: 183
|
|
02.08.2012, 00:40 [ТС] | 9 |
0
|
Заблокирован
|
|
02.08.2012, 02:11 | 10 |
ну почему же неявным. Очень даже явным. В процессе компиляции все что возможно компилятор аккуратно укладывает в стек программы. Туда же и поместился константный строковый литерал. Начнешь ассемблеры учить, все поймешь. Ну как бы не труЪ. Оно конечно cstyle компиляторами поддерживается, но если уж хочется писать на Си и чтобы еще полезней, так лучше писать на Си, а то суржик получается.
0
|
5478 / 4873 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
|
|
02.08.2012, 05:12 | 11 |
В конструкторе у вас ничего не определяется, а значит и память ни под что не выделяется. Конструктор это процедура инициализации объекта, а не создания объекта(выделения памяти под объект). name - это поле класса. Память под неё выделяется при создании объекта класса. У вас объект создаётся в функции main(). Освобождение памяти, занимаемой этим объектом, произойдёт при выходе из main().
https://www.cyberforum.ru/blogs/18334/blog103.html
0
|
![]() ![]() |
|
02.08.2012, 09:05 | 12 |
name - это всего лишь указатель. А в статической памяти находится строковой литерал. Строковой литерал живёт всё время исполнения программы. Указатель name живёт лишь на то время, пока существует объект Hero
Неправда. Строковой литерал НЕ помещался в стек. Он живёт в глобальной памяти
2
|
|
02.08.2012, 15:18
#13
|
Не по теме: Evg, ну да, конечно, пардон.
0
|
2 / 2 / 1
Регистрация: 21.11.2011
Сообщений: 183
|
|
02.08.2012, 21:57 [ТС] | 14 |
- это наверное долго...В общем, спасибо, учту=)))
Добавлено через 4 минуты - это понял прочитав вашу статью, спасибо!=)
0
|
02.08.2012, 21:57 | |
Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь. Создать массив B[1.. N], где bi=1, когда все элементы i-й строки двух матриц имеют одинаковые знаки, иначе bi=0 Где удаляются Implicit Sharing объекты?
Не удаляются компоненты с формы B XE8 и где XE10 Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |