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

Стандартные типы объектов в C++ и выделение памяти под них - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Односвязный (двусвязный) список - поиск людей по минимальному и максимальному возрасту http://www.cyberforum.ru/cpp-beginners/thread842324.html
Здравствуйте форумчане. Имеется задание: Для структуры из Вашего варианта работы 6 сформировать динамический односвязный или двусвязный список. В наличие задача в которой происходит поиск людей по минимальному и максимальному возрасту - введенному с клавиатуры. #include <iostream> #include <fstream> #include <windows.h> using namespace std;
C++ Дописать прогу Priority Queue class используя heap для хранения данных Помогите, пожалуйста, дописать программу Priority Queue class используя heap для хранения данных: мне нужно даписать все не законченные member functions of the PriorityQueue class, таким образом чтобы класс использовал heap, чтобы хранить и восстанавливать елементы. Особенно не обходимо завершить следующие функции: - PriorityQueue() - insert() - get_front() - print_tree() - is_leaf() -... http://www.cyberforum.ru/cpp-beginners/thread842308.html
комментарии к программе C++
можно написать построчные комментарии к программе? #include <stdio.h> #include <conio.h> #include <math.h> #include <iostream.h> struct jurnal { char njurnal; char izdatel;
C++ операторы if else
Здравствуйте. Только начал работать на СИ++ Написал программу Выводит ошибку. те кто с СИ++ на Ты, помогите пожалуйста
C++ Есть ли смысл в privet конструкторах и деструкторах? http://www.cyberforum.ru/cpp-beginners/thread842286.html
Ну собственно вопрос в шапке...:)
C++ Оператор delete Вчера заметил, но ответа в сети так и не нашел: int *i = new int(5); cout << *i << endl; delete i; int p = *i; cout << p << endl; Выводит: 5 0. Но если использовать, например, массивы - то можно будет скопировать все содержимое после удаления. Что делает delete? Просто информирует систему о том, что блок памяти больше не используется? подробнее

Показать сообщение отдельно
Jupiter
Каратель
Эксперт C++
6545 / 3965 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
19.04.2013, 10:46     Стандартные типы объектов в C++ и выделение памяти под них
для начала ознакомтесь: Строковые литералы в Си/Си++

Добавлено через 2 минуты
Цитата Сообщение от z1p0 Посмотреть сообщение
Размер указателя (В MSVC 2010 - 4 байта) + размер внутренностей , этого указателя , то есть 4 Байта(char(1 символ) = 1 байт) .... Что в сумме дает ... 8 байт ....Так ли это :?
то что сумма 8 байт - так, но как минимум строковый литерал будет создан const-сегменте защищенном от записи, тогда как указатель будет создан в non-const сегменте

Добавлено через 12 минут
Цитата Сообщение от z1p0 Посмотреть сообщение
char string[] = "ABC";
Та же история, создается массив на 4 байта, но строковому литералу тоже надо откуда-то браться, потому и он будет помещен const-сегменте защищенном от записи. Так что и тут можно сказать что сумма 8 байт. Только и в 1-м и во 2-м примере 4 байта(на указатель в 1-м примере, и на массив во 2-м примере) выделяются во время работы программы. Тогда как 4 байта литерала это данные программы.
Если напишем так
C++
1
2
const char* pstr = "ABC";
char arr[] = "ABC";
то компилятор вполне может "закэшировать" строковый литерал "ABC", только в 1-й строке создается указатель на уже существующий литерал, а во 2-й будет создан массив на 4 байта в который будет скопировано содежимое литерала.
3-й пример аналогичен первому.
 
Текущее время: 06:37. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru