Действительно ли компонент вложенных функций C является стандартным?

Вот что я думаю:

INSERT INTO users ( user_id, member_id, first_name, last_name, email, password)
    SELECT <user_id>, -- Wherever this needs to come from or remove if its generated.
         member_id, first_name, last_name, email, password
    FROM members;

Далее:

UPDATE members m INNER JOIN users u
    ON m.member_id = u.member_id 
    SET m.user_id = u.user_id

Я добавил поле member_id в таблицу пользователей, которой у вас нет. Если у вас нет возможности сделать это, вы можете использовать другие идентификаторы, чтобы присоединиться к таблице.

5
задан chappar 20 March 2009 в 15:42
поделиться

2 ответа

Нет, они не часть стандарта C++ или C. Они - расширение GNU в компиляторе GCC. См. руководство GCC для получения дополнительной информации. На самом деле возможно взять адрес вложенной функции, которая сделана с помощью техники, названной батутами, но остерегайтесь протестов, перечисленных в руководстве.

13
ответ дан 18 December 2019 в 13:19
поделиться

Вложенные функции являются расширением GCC, не стандартом C

1
ответ дан 18 December 2019 в 13:19
поделиться
Другие вопросы по тегам:

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