|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
22.04.2018, 16:17 | #1 |
Пользователь
Регистрация: 22.09.2017
Сообщений: 45
|
работа с памятью
Всем доброе время суток, раньше изучал языки программирования в том числе и С++ как что-то поверхностное,основанное только на их синтаксисе,
а сейчас стал узнавать от старших товарищей о некоторых фишках,например я всегда думал что к полю обьявленному в классе как private нельзя обращаться извне,только используя сет и гет функции, но как оказалось если уметь работать с адресами,то можно обратиться к подобной информации, я понял насколько важно понимать как это все устроено и работает на уровне памяти, к сожалению мои попытки найти что-то хорошо укомплектованное информацией по этой теме не привели к результату, посоветуйте источники где можно достать информацию по данной теме,заранее спасибо |
22.04.2018, 17:53 | #2 | |
Форумчанин
Регистрация: 12.04.2017
Сообщений: 889
|
Цитата:
И все из этого вытекает. Язык С++ дает вам доступ к чему угодно простым синтаксисом, состоящим из "взять адрес чего-то, как число", "использовать адрес для доступа к чему-то", и арифметика работы с адресом. В отличие от простых чисел, эта арифметика учитывает размер "чего-то". Т.е. если "что-то" по размеру 20 байт, то +1 к адресу этого даст реально +20 в численном виде. И возникает море проблем "как нельзя делать", из-за того, что компилятор выполняет оптимизации + процессоры накладывают ограничения, типа адрес должен быть кратен 16 (выравнивание). Потому, если вы хотите, чтобы программа работала везде - это нужно учитывать (т.е. у вас конкретно на интеле все ок, а на андроиде "ничегонеработает".) У нас тут целая тема скатилась к обсуждению UB с пол года назад. Насчет private - это искусственное ограничение Просто измените h-файл на public и все станет доступно и без указателей. Последний раз редактировалось alexzk; 22.04.2018 в 18:06. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Работа с памятью | mufesto | Win Api | 1 | 30.01.2012 15:13 |
работа с памятью | Mr_ViK | Win Api | 13 | 16.01.2012 01:53 |
работа с памятью в VB | Mr_ViK | Помощь студентам | 1 | 14.01.2012 16:54 |
Работа с памятью | Seferus | Общие вопросы C/C++ | 4 | 28.12.2010 14:04 |
Работа с памятью | GrihaI | Общие вопросы C/C++ | 0 | 14.05.2010 18:18 |