如果我们在Qt
中写入以下内容作为函数的参数:QString &tableName
这是否意味着我们只是参考?
谢谢。
严格来说,这是一个函数参数,而不是函数argument。参数是在函数的参数列表中声明的变量;参数是由调用函数传递给函数的值。因此参数QString &tableName
是通过引用传递的。但作为函数自变量,&tableName
的意思是"tableName
的地址"。
更新:根据要求,这里有一个代码示例来澄清区别:
void f (double y) ;
f (99.0) ;
double y
是一个参数声明;它类似于一个变量声明。CCD_ 7是一个函数参数。
99.0
是函数自变量;它是一个表达式,必须可转换为类型double
。
是的,这在C++中是通过引用传递的。如果您不想意外更改tableName,也可以编写QString const & tableName
。
是。提示:如果你不想更改,请将其设为const
。