Deutsch
Germany.ruФорумы → Архив Досок→ Программирование

Работа, ЯП и ООП

16.06.24 11:58
Re: Работа, ЯП и ООП
 
uscheswoi_82 коренной житель

Если чего-то нет, то приходится какие-то костыли писать. В Си++ опасно костыли писать т.е. переходить с Си++ на Си, т.к. там работаешь с Сишными типами данных, а это опасно, есть так скажем переполнение буфера см. http://www.freebsd.org.ru/developers-handbook/x1169.html, вот например переполнение буфера:

char buf[512];
HWND hwndField1;
...
GetWindowText(hwndField, buf, GetWindowTextLength(hwndField));


Чтобы не было переполнения буфера то делаем так:

char *buf;
HWND hwndField1;
...
buf = (char *)malloc(GetWindowTextLength(hwndField)+1);
GetWindowText(hwndField, buf, GetWindowTextLength(hwndField));


Но нужно память освобождать т.е. написать free, иначе будет утечка памяти см. https://habr.com/ru/companies/piter/articles/432072/:

free(buf);


Для этого наверное Си++ и придумали, чтобы не морочить голову программисту с переполнением буфера и утечкой памяти.

Если я кому-то отвечаю, это не значит что я ему симпатизирую, каждый остаётся при своём мнение
 

Перейти на