Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Память будет освобождаться или нет?
|
|||
|---|---|---|---|
|
#18+
DeviLooperЯ че-то подумал и сделал вот так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. По идее нормально же все будет работать? Вложенных вызовов не планирую. kealon(Ruslan)был правда фокус с локальной переменной, но он потоконебезопасен ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2016, 08:58 |
|
||
|
Память будет освобождаться или нет?
|
|||
|---|---|---|---|
|
#18+
DeviLooper, ох как часто этот велосипед придумывают ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2016, 08:59 |
|
||
|
Память будет освобождаться или нет?
|
|||
|---|---|---|---|
|
#18+
kealon(Ruslan)DeviLooper, ох как часто этот велосипед придумывают Да ещё с граблями совмещённый ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2016, 09:03 |
|
||
|
Память будет освобождаться или нет?
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2016, 09:16 |
|
||
|
Память будет освобождаться или нет?
|
|||
|---|---|---|---|
|
#18+
ИзопропилMasterZivмне кажется, что это абсолютно НЕнормальная ситуация, когда вызывающему надо еще о чем-то думать после вызова. а кто кроме вызывающего знает, как долго ему нужен результат вызова? Да и вызывающему это знать не нужно. Ему нужно взять значение и использовать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2016, 09:55 |
|
||
|
Память будет освобождаться или нет?
|
|||
|---|---|---|---|
|
#18+
maytonСогласно спеке printf возвращает количество символов или негативное целое (статус ошибки). Но если-бы он пробрасывал в качестве retval свой первый аргумент назад то можно было бы попробовать в 1 строчку. Код: plaintext 1. Вот я тоже про это хотел написать. Но к сожалению C/C++ не Arch language. Далеко не такой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2016, 09:57 |
|
||
|
Память будет освобождаться или нет?
|
|||
|---|---|---|---|
|
#18+
DeviLooperЯ че-то подумал и сделал вот так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. По идее нормально же все будет работать? Вложенных вызовов не планирую. Нет, ненормально. В общем, это идиотский код и подход. Даже с автоматическим (auto) массивом фиксированной длины лучше , чем так. А как надо -- я уже показал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2016, 09:59 |
|
||
|
Память будет освобождаться или нет?
|
|||
|---|---|---|---|
|
#18+
DeviLoopermayton, ну суть вопроса-то была в очистке памяти при подобном вызове, а не в оптимизации моей функции :) Мы ответили ? Ответили. Зачем -- не понятно, если ты всё равно слушать не хочешь, а делаешь код только хуже. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2016, 10:02 |
|
||
|
Память будет освобождаться или нет?
|
|||
|---|---|---|---|
|
#18+
DeviLooperЯ че-то подумал и сделал вот так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. По идее нормально же все будет работать? Вложенных вызовов не планирую. Не делайте так, плз. НИКОГДА. Однажды кто-нибудь напишет Код: plaintext 1. 2. 3. и получит USE AFTER DELETE... Счастливой отладки ( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2016, 10:13 |
|
||
|
Память будет освобождаться или нет?
|
|||
|---|---|---|---|
|
#18+
Как вариант, если очень не хочется STL использовать, то можно свой класс-обертку написать. Там немного кода будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2016, 10:28 |
|
||
|
Память будет освобождаться или нет?
|
|||
|---|---|---|---|
|
#18+
MasterZivДа и вызывающему это знать не нужно. Ему нужно взять значение и использовать. no comments ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2016, 10:30 |
|
||
|
Память будет освобождаться или нет?
|
|||
|---|---|---|---|
|
#18+
Недавно некто постил ссылку на полную ненависти статью. Вобщем там было нечто вроде: ....История C/С++ это история создания строкового типа и т.п. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2016, 10:30 |
|
||
|
Память будет освобождаться или нет?
|
|||
|---|---|---|---|
|
#18+
DeviLooperЯ <stdio.h> юзаю, так что <string> раздувает бинарник со 130кб, до 500 Затестил, MS VC 2015 статическая линковка. Код отсюда 19432985 103424 байта, такой код 110592 байт Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. ХЗ стоит ли из-за 7 кб кода создавать столько граблей. PS Раздутые бинарники хорошо сдувает UPX ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2016, 10:53 |
|
||
|
Память будет освобождаться или нет?
|
|||
|---|---|---|---|
|
#18+
ИзопропилMasterZivДа и вызывающему это знать не нужно. Ему нужно взять значение и использовать. no comments Ну так современный С++ идёт (несётся?) в эту сторону. Нам говорят: используйте value-семантику и "умные обёртки" для сырых указателей. Современный С++ код может вообще не содержать new и delete ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2016, 11:13 |
|
||
|
Память будет освобождаться или нет?
|
|||
|---|---|---|---|
|
#18+
А так? Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2016, 11:28 |
|
||
|
Память будет освобождаться или нет?
|
|||
|---|---|---|---|
|
#18+
BagaBagaНу так современный С++ идёт катится :) значит будет "старый" и "новый" C++ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2016, 11:32 |
|
||
|
Память будет освобождаться или нет?
|
|||
|---|---|---|---|
|
#18+
BarloneА так? так 103936 байта, т.е. +512 байт всего. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2016, 11:41 |
|
||
|
Память будет освобождаться или нет?
|
|||
|---|---|---|---|
|
#18+
BagaBaga, молодец, я вот понимаю, что это хрень, но почему это хрень - уже забыл, поскольку делал так последний раз лет 25 назад, когда был студентом... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2016, 11:49 |
|
||
|
Память будет освобождаться или нет?
|
|||
|---|---|---|---|
|
#18+
maytonНедавно некто постил ссылку на полную ненависти статью. Вобщем там было нечто вроде: ....История C/С++ это история создания строкового типа и т.п. а че не так что ли? я всю жизнь (! не шутка) борюсь с этими хреновыми строками ! теперь хоть есть стандартная, да и то - говно полное... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2016, 11:51 |
|
||
|
Память будет освобождаться или нет?
|
|||
|---|---|---|---|
|
#18+
BarloneА так? Код: plaintext 1. Есть подозрение, что std::unique_ptr<char> будет удалять через delete, а не delete[] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2016, 12:01 |
|
||
|
Память будет освобождаться или нет?
|
|||
|---|---|---|---|
|
#18+
Гость123BarloneА так? Код: plaintext 1. Есть подозрение, что std::unique_ptr<char> будет удалять через delete, а не delete[] В такjм виде да, но кто мешает использовать custom delete для unique_ptr? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2016, 12:14 |
|
||
|
Память будет освобождаться или нет?
|
|||
|---|---|---|---|
|
#18+
Упс, они допилили unique_ptr для массивов Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. http://en.cppreference.com/w/cpp/memory/unique_ptr ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2016, 12:21 |
|
||
|
Память будет освобождаться или нет?
|
|||
|---|---|---|---|
|
#18+
Гость123Есть подозрение, что std::unique_ptr<char> будет удалять через delete, а не delete[] О... Код: plaintext 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2016, 12:24 |
|
||
|
Память будет освобождаться или нет?
|
|||
|---|---|---|---|
|
#18+
А реально есть ли разница между delete *char и delete[] *char ? если б это был массив объектов - понятно что надо деструктор каждому вызвать, но для char, int и т.п. этого не надо, а в итоге ведь наверняка что-то типа free(*void). Почему бы не узаконить взаимозаменяемость delete и delete[] для char? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2016, 12:35 |
|
||
|
Память будет освобождаться или нет?
|
|||
|---|---|---|---|
|
#18+
Dima Tбудет работать, тут только не нарвись на такое Код: plaintext 1. Ну под "вложенными" вызовами я в том числе это и имел в виду - не будет такого. Dima Tпроверку добавь и скобки Код: plaintext 1. Скобки да, забыл. А проверка разве нужна? delete же сам проверяет на NULL. MasterZivDeviLoopermayton, ну суть вопроса-то была в очистке памяти при подобном вызове, а не в оптимизации моей функции :)Мы ответили ? Ответили. Зачем -- не понятно, если ты всё равно слушать не хочешь, а делаешь код только хуже. Да я имел в виду, что реальное тело той функции роли не играет. Меня интересовала только передача результата наружу. Почему не слушаю? Слушаю, пробую. Просто мне показался мой вариант со статиком неплохим. Остальное все как-то громоздко... А что в нем плохого? Что куча теребится? Ну у меня не так много вызовов. Я понял, что это не по фэн-шую, что надо обвешиваться классами. Но такое решение имеет право на жизнь? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2016, 12:47 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=39277554&tid=2018467]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
163ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
64ms |
get tp. blocked users: |
1ms |
| others: | 298ms |
| total: | 573ms |

| 0 / 0 |
