【发布时间】:2011-11-18 07:27:06
【问题描述】:
如果我这样做
string someString = "hello";
char c = someString[2];
c 变量是指someString 中的一个字符,还是它本身是一个新的独立字符?
如果不是独立的,怎么复制?
【问题讨论】:
-
它已经是该值的副本。
标签: c++ char reference return-by-reference
如果我这样做
string someString = "hello";
char c = someString[2];
c 变量是指someString 中的一个字符,还是它本身是一个新的独立字符?
如果不是独立的,怎么复制?
【问题讨论】:
标签: c++ char reference return-by-reference
c 是一个副本。如果你写了
char &c = someString[2];
那么它会是一个参考。
【讨论】:
char c = someString[2];
将位置 2 的字符复制到 'c' 中
【讨论】:
它是独立的,因为 c 不是引用类型 - 它是 char,而不是 char &。
由于它是值类型,因此执行复制。
【讨论】: