C ++: Как мне сделать копию символа, возвращенного в качестве ссылки? - PullRequest
0 голосов
/ 18 ноября 2011

Если я сделаю

string someString = "hello";
char c = someString[2];

, относится ли переменная c к символу внутри someString, или это новый независимый символ самостоятельно?

Если этоне независимый, как мне его скопировать?

Ответы [ 3 ]

6 голосов
/ 18 ноября 2011

c является копией. Если вы написали

char &c = someString[2];

тогда это была бы ссылка.

5 голосов
/ 18 ноября 2011
char c = someString[2];

копирует символ с позиции 2 в 'c'

3 голосов
/ 18 ноября 2011

Он независим, потому что c не является ссылочным типом - это char, а не char &.

. Следовательно, это тип значения, поэтому выполняется копирование.

...