Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.83/29: Рейтинг темы: голосов - 29, средняя оценка - 4.83
0 / 0 / 0
Регистрация: 09.02.2012
Сообщений: 19

Низкоуровневые тонкости программирования на С++

22.10.2012, 22:04. Показов 6697. Ответов 23
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Хотел бы узнать у опытных программистов, где можно найти литературу по более продвинутым вопросам программирования с С++, т.е. таких как, выделение памяти при создании экземпляров класса, доступ к методам класса, скрытое (от разработчика) создание временных переменных в процессе выполнения, хранение в памяти динамических массивов и осуществление доступа к их ячейкам (если массив хранится в виде нескольких кусков, например) и т.п. То есть по более "низкоуровневым вопросам", связанным с работой компиляторов, менеджеров памяти и др., которые не освещены в большинстве книг по С++.

ПС. Я просто не знаю как лучше (обобщенно) назвать такого рода вопросы, чем "низкоуровневые вопросы"
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
22.10.2012, 22:04
Ответы с готовыми решениями:

Какие книги стоит прочитать начинающему программисту С++ , чтобы понять все тонкости программирования?
Чтобы узнать основные принципы всех парадигм программирования, чего стоит и не стоит делать, да и вообще, какие, по вашему мнению, книги...

Низкоуровневые функции С++
Здраствуйте. Внизу код, который выполняет такую задачу: С использованием автосборщика make написать программу, открывающую текстовый...

Низкоуровневые функции работы с файлами
Добрый день. Подскажите, пожалуйста, какие есть низкоуровневые функции работы с файлами? спасибо

23
 Аватар для Kastaneda
5232 / 3206 / 362
Регистрация: 12.12.2009
Сообщений: 8,143
Записей в блоге: 2
23.10.2012, 20:23
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от KernelSource Посмотреть сообщение
По нему не пробежишься, инкрементируя указатель
В С++ как раз пробежишься. Там по ссылке речь про делфи (которого я не знаю), но если там так, как ты говоришь, значит там массив - это что-то типа класса, а в С++ массив это просто кусок памяти от А до В.
0
 Аватар для Toshkarik
1181 / 894 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
23.10.2012, 20:26
Цитата Сообщение от KernelSource Посмотреть сообщение
Динамический массив, в отличие от статического, не обязан быть непрерывным блоком данных,
Цитата Сообщение от KernelSource Посмотреть сообщение
Я бы рад, но ассемблер хромает.
У Вас не только ассемблер хромает.

Добавлено через 1 минуту
Kastaneda, да нет, быстро глянул, там тоже самое, даже процитирую:
До Delphi 4 в языке не было динамических массивов, но они существовали как концепция. Динамический массив - это блок выделенной памяти, которая управляется через указатель. Динамические массивы могут расти или уменьшаться. Фактически это означает, что выделяется новый блок памяти для массива новой длины, в то время как старая память ещё не отпускается. После чего содержимое старой памяти копируется в новую, и старый блок памяти в конце удаляется, а указатель (ссылка) массива начинает указывать на новый блок памяти.
1
0 / 0 / 0
Регистрация: 09.02.2012
Сообщений: 19
23.10.2012, 20:58  [ТС]
Цитата Сообщение от Toshkarik Посмотреть сообщение
Kastaneda, да нет, быстро глянул, там тоже самое, даже процитирую:
До Delphi 4 в языке не было динамических массивов, но они существовали как концепция. Динамический массив - это блок выделенной памяти, которая управляется через указатель. Динамические массивы могут расти или уменьшаться. Фактически это означает, что выделяется новый блок памяти для массива новой длины, в то время как старая память ещё не отпускается. После чего содержимое старой памяти копируется в новую, и старый блок памяти в конце удаляется, а указатель (ссылка) массива начинает указывать на новый блок памяти.
Там же:
Но динамические массивы также могут быть и многомерными. Ну, по-крайней мере, с точки зрения синтаксиса, т.к. в действительности они ими не являются. Многомерный динамический массив является, фактически, одномерным динамическим массивом, в котором каждый элемент является ссылкой на другой одномерный динамический массив.

А на счет одномерных динамических массивов (в дельфи) я кажется ступил. Я реально считал что в они могут быть в о фрагментированном виде(физически, в выделенной памяти) и доступ по инкременту указателя(как в случае со статическими массивами) для них невозможен. не могу найти где я это прочитал (недавно).

Цитата Сообщение от Toshkarik Посмотреть сообщение
У Вас не только ассемблер хромает.
судя по всему...
0
Делаю внезапно и красиво
Эксперт С++
 Аватар для Deviaphan
1313 / 1228 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
24.10.2012, 06:08
Цитата Сообщение от KernelSource Посмотреть сообщение
т.к. в действительности они ими не являются
Пространство оперативной памяти - одномерно. Поэтому реально многомерных массивов (в геометрическом смысле) в ней быть не может. Кроме того, нормальные люди не в состоянии геометрически представить пространства, числом более трёх.

Цитата Сообщение от KernelSource Посмотреть сообщение
в котором каждый элемент является ссылкой на другой одномерный динамический массив.
Указателем, а не ссылкой. В остальном всё верно. Создание таких массивов рассматривается в любой книжке для чайников, т.к. это базовый уровень знаний языка программирования.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
24.10.2012, 06:08

Низкоуровневые средства ввода вывода в UNIX
Здравствуйте!!! Помогите пожалуйста!! Вот задание. Описать функцию, удваивающую в заданном файле каждую очередную четверку байт. При...

Низкоуровневые сокеты. Udp клиент-сервер
Здравствуйте.Помогите пожалуйста поправить код сервера,принимающего сообщение от клиента и выводящего его на экран.клиент компилируется,а...

Саааамые низкоуровневые библиотеки для доступа к ОС
Если мне нужен сааааамый низкий доступ к системе, к каким инструментам я должен прибегнуть?(и есть ли в этом смысл?) Мои...

На чем писались низкоуровневые функции winapi
Жажду знаний, как оно все делается на супернизком уровне. На чем писали винапи? На ассемблере?

Низкоуровневые сокеты (ICMP протокол), Ошибка с типами, Клиент-Сервер
Создать для клиента генератор пакетов (для проведения атаки ICMP-Flood), а для сокета-сервера чтение с защитой. При компиляции...


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

Или воспользуйтесь поиском по форуму:
24
Ответ Создать тему
Новые блоги и статьи
Книги по геймдизайну, левел-дизайну, игровым механикам и проектированию игрового опыта
8Observer8 08.11.2026
Содержание блога | English Version 1. 2003 - 06 - Designing Virtual Worlds (1st Edition) Автор: Richard A. Bartle | Объем: 768 стр. Ссылки: Amazon . . .
Родители токсичные абьюзеры по отношению к своим детям ругают их оскорбляют не любят
zorxor 08.11.2026
Жить в атмосфере постоянных оскорблений, критики и холодности со стороны родителей — это тяжелое и болезненное испытание, которое оставляет глубокие эмоциональные раны. Токсичное и абьюзивное. . .
Как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Ответ от Джемени ИИ.
zorxor 08.11.2026
Джемени, как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Многие люди, возвращаясь домой, сразу переодеваются в максимально свободную одежду или вовсе предпочитают. . .
Паттерн очереди действий/команд (Action / Command Queue). Система очереди действий и кат-сцен с SDL3 Callbacks, cglm и OpenGL
8Observer8 07.11.2026
Содержание блога | English Version Руководство для начинающих по реализации паттерна очереди действий/ команд (Action / Command Queue) на C++ (C++20) с использованием официального SDL3 Callbacks. . .
Проверка полного ФИО в типовом справочнике
Maks 07.11.2026
Решение реализовано в конфигурации КА2, на примере справочника "КонтактныеЛицаПартнеров". Задача: Запрет инициалов. Не допускаеть использование сокращений вида "И. И. ", "И. И. ", "И И" и. . .
Про "Windows must die!"
kumehtar 04.11.2026
Знаете, чет накатило. . . . Когда-то это было почти боевым кличем: мол, нормальный человек сидит на DOS, OS/ 2 или Linux, а вот это вот - Must Die. А теперь человек произносит «мастдай» с усмешкой - и. . .
Красочные поля с номером страницы svg+background-image
russiannick 04.11.2026
Красочные поля с номером страницы не менее важны чем в эпоху бумажных книг. Посему спешу представить почтеннейшей публике этот важный инструмент который эти поля и формирует. В процессе разработки. . .
Вступаем в новую фазу генерации favicons, векторную.
russiannick 02.11.2026
Теперь нет нужды скрывать что используется простой svg. Исходный код изображения помещаем в поле и жмем кнопку. Исходник преобразуется в вид корректный для помещения в favicon или в url(). Нажатие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru