C использует лямбда-выражения?

И, если это делает, как Вы используете тот? (синтаксис)

Кроме того, почему делает или почему не делает лямбда-выражений поддержки C?

9
задан shosh 2 May 2010 в 00:23
поделиться

3 ответа

Нет, C не поддерживает лямбда-выражения.

Если вы хотите использовать C ++, у Boost есть библиотека, имитирующая лямбда-выражения. Кроме того, C ++ 0x будет иметь встроенную поддержку лямбда-выражений.

В то время не было большого спроса на поддержку лямбда-выражений в C, поэтому язык не поддерживал ее.

10
ответ дан 4 December 2019 в 11:40
поделиться

Нет, в C нет лямбда-выражений (или других способов создания замыканий).

Вероятно, это так, потому что C - это язык низкого уровня, который избегает функций, которые могут иметь плохую производительность и / или усложнять язык или систему времени выполнения.

3
ответ дан 4 December 2019 в 11:40
поделиться

C не поддерживает лямбда-выражения или какие-либо другие способы (в рамках стандарта языка) для динамического создания функций - все функции в соответствии со стандартом создаются во время компиляции. Я предполагаю, что причина в том, чтобы язык оставался небольшим, простым, компактным и очень быстрым, без какой-либо необходимой поддержки «библиотеки времени выполнения», что имеет решающее значение для языка, который так широко используется при программировании операционных систем, драйверов устройств, встроенных приложений и так далее.

5
ответ дан 4 December 2019 в 11:40
поделиться
Другие вопросы по тегам:

Похожие вопросы: