Сторінка 2 з 2
Re: Історія винайдення Pointers
Додано: 29 серпня 2023, 14:59
Mak7ym
monoxrom писав: ↑29 серпня 2023, 14:51
"можна перевикористовувати ті самі адреси для зберігання інших данних "
так в любу змінну можна писати любі дані, це ж те саме?
Можна, але потім виникає багато проблем, наприклад, хто і коли в ту саму память буде писати і читати і чи не будуть дві змінні під одною адресою потрібні алгоритму в той самий час і як розрулити такий конфлікт
Тому пішли іншим шляхом, алгоритм робити максимально динамічним з точки зору памяті, тобто ти передаєш адрес під яким лежать дані і алгоритм їх опрацьовує без привязки до конкретної адреси.
Це зменшує швидкість обробки, але підвищує незалежність алгоритма від хардкодних адрес і збільшує портованість
Re: Історія винайдення Pointers
Додано: 29 серпня 2023, 21:46
Mak7ym
monoxrom писав: ↑29 серпня 2023, 14:51
"можна перевикористовувати ті самі адреси для зберігання інших данних "
так в любу змінну можна писати любі дані, це ж те саме?
Можна, звичано, але це не те саме. Повинен бути менеджер памяті, який буде виділяти її під змінні, щоб всі знали, що цей конкретний адрес зараз тримає якесь значення і по поінтеру всі кому потрібно читає - пише. Але якщо, статично виділити адрес в одній програмі, то інша повинна вже підстраюватися і звільнити його немає можливості, бо вона статично зайнята. І навіть, якщо вона буде використовуватись тільки при старті програми, то ніхто не зможе його використати, тому що треба дивитися в код тієї програми і пробувати зрозуміти, коли можна його використати, щоб не попортити логіку...