Почему было создано ключевое слово Register?C++

Программы на C++. Форум разработчиков
Anonymous
 Почему было создано ключевое слово Register?

Сообщение Anonymous »

Читая «Ключевые слова, которых нет» (или «Комментарии от другого имени») Херба Саттера, я наткнулся на следующие строки:

Правильно, некоторые ключевые слова семантически эквивалентны пробелам, прославленному комментарию.

И

Мы увидели, почему язык C++ рассматривает ключевые слова как зарезервированные, и мы видели два ключевых слова — auto и Register — которые не имеют никакого семантического значения для программы C++. Не используйте их; в любом случае это просто пробелы, и есть более быстрые способы ввода пробелов.

Если ключевые слова типа auto(возможно, не в C+ +11) и регистр не имеют никакой ценности, тогда зачем они были созданы и использованы?
Если нет никакой разницы включать регистр раньше переменная
#include
int main(){
register int a = 15;
printf("%d\n%d\n",&a,a);
return 0;
}

Почему приведенная выше программа выдает ошибку?

test_register.c: В функции 'main':
p>
test_register.c:4:2: ошибка: запрошен адрес регистровой переменной «a»
printf("%d\n%d\n" ,&a,a);

Следующая программа работает на C++.
#include
int main(){
register int a = 15;
std::cout

Подробнее здесь: https://stackoverflow.com/questions/374 ... rd-created

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