При чтении Ключевые слова, которые не являются (или, комментарии от другого имени), Herb Sutter Я наткнулся на эти строки:
Правильно, некоторые ключевые слова семантически эквивалентны пробелу, прославленному комментарию.
и
Мы видели, почему язык С++ рассматривает ключевые слова как зарезервированные слова, и мы видели два ключевых слова -auto и register - которые не имеют никакой смысловой разницы для С++-программы. Не используйте их; они все равно просто пробелы, и есть более быстрые способы ввода пробелов.
Если ключевые слова типа auto
(возможно, не в С++ 11) и register
не имеют значения, то почему они были созданы и использованы?
Если не нужно включать register
перед переменной
#include<stdio.h>
int main(){
register int a = 15;
printf("%d\n%d\n",&a,a);
return 0;
}
Почему указанная выше программа сообщает об ошибке?
test_register.c: В функции main:
test_register.c: 4: 2: ошибка: адрес переменной регистра 'запрошенный
Е ( "% d\п% г\п", & а, а);
Следующая программа работает на С++.
#include<iostream>
int main(){
register int a = 15;
std::cout<<&a<<'\n'<<a;
return 0;
}