以下两个语句在语义上是否相同?

mis*_*tor 1 c++ initialization semantics

以下两个语句在语义上是否相同?

#1 person p("Rahul", 20);

#2 person const &p = person("Rahul", 20);

编辑:

对不起,我想问一下以下两个语义是否相同:

#1 person const p("Rahul", 20);

#2 person const &p = person("Rahul", 20);

小智 5

不,他们不是.p在每种情况下的表现方式都不同.例如,在后一种情况下,你不能说:

p.rename( "fred" );
Run Code Online (Sandbox Code Playgroud)

假设person有一个rename()方法.

当然,如果你的第一个例子是:

const person p("Rahul", 20);
Run Code Online (Sandbox Code Playgroud)

两者本来会更相似.我希望你不打算使用所有"变量"的引用:-)