The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Первый тестовый выпуск языка программирования Hare"
Отправлено n00by, 24-Фев-24 20:44 
RAII в С++ работает без GC. defer предлагают стандартизовать как аналог для C.


Abstract:​ Add a defer mechanism to C language to aid in resource management

https://www.open-std.org/jtc1/sc22/wg14/www/docs/n2542.pdf

The GNU C dialect (as implemented by GCC and Clang) provides an attribute which
can be used to enable automatic destruction on end of scope for an annotated
block-scope object:


#include <stdio.h>

static void fp_close (FILE ** fpp) { fclose (*fpp); }

extern void do_work (FILE *);

void foo (char const * name) {
  __attribute__((cleanup(fp_close)))
  FILE * fp = fopen (name, "r"); // run fp_close after do_work
  do_work (fp);
}


 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
  Введите код, изображенный на картинке: КОД
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру