Можете ли вы наблюдать, расширяется ли _Atomic до шаблона псевдонима или шаблона класса?C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Можете ли вы наблюдать, расширяется ли _Atomic до шаблона псевдонима или шаблона класса?

Сообщение Anonymous »

[stdatomics.h.syn] определяет следующее:

Код: Выделить всё

template
using std-atomic = std::atomic;        // exposition only

#define _Atomic(T) std-atomic
libc++ и libstdc++ не реализуют это с использованием «шаблона промежуточного псевдонима», как указано, но определяют _Atomic как расширение непосредственно до ::std::atomic.
Можно ли это делать или это ошибка стандартной библиотеки? Может ли пользователь заметить разницу?
Начиная с C++26, это, очевидно, ошибка, поскольку пользователь мог размышлять, как ^^_Atomic(int), и отличать шаблоны псевдонимов от шаблонов классов.
До C++26 был ли какой-либо способ, которым пользователь мог это определить?

Подробнее здесь: https://stackoverflow.com/questions/798 ... s-template
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»