2015-03-23 1 views
0

Это своего рода философский вопрос, но, возможно, есть ответ на стандарте C++.Имеются ли такие числа, как 5 технических ссылок или значений?

Возьмем, к примеру,

int x = 5; 

Является ли это назначение x к значению 5, или назначая x быть ссылка на 5, которая сама по себе имеет некоторую внутреннюю ценность? Действительно ли это 5 или это идея?

+1

'std :: is_reference :: value' –

ответ

2

Это rvalue. Если вы находитесь в платонической теории, тогда это настоящая идея, как я и вы. Хотя я не уверен обо мне и тебе.

+0

Что делать, если я хочу заставить' 5' действовать как '0', т. Е. Сделать' 5' таким числом, чтобы i + 5 = 5 для любого 'int i', через '#define 5 0'? Я нарушил определение «rvalue»? –

+0

@SteveBahlmer, это не юридический '# define'. –

+0

@SteveBahlmer Это не имеет смысла. –

0

В заявлении:

int x = 5; 

5 представляет собой постоянное число.
Переменной x присваивается значение 5.
Никаких ссылок.

В большинстве компиляторов и платформ для номера нет ссылки. Кроме того, номер обычно помещается непосредственно в исполняемый код, а не в сегмент данных. Это связано с тем, что требования к хранению небольшие, а число не меняется.

Смежные вопросы