考虑以下代码:
#include
using namespace std;
int N = 0;
void print(int a=N)
{
cout<
输出结果是 2 .
print函数使用了默认参数,而默认传入的参数又是一个变量的值,那么在改变了这个变量的值之后,在函数运行时传入的默认参数也会随之改变。
换言之,默认参数的值如果传入为变量的时候,并不是在编译期直接确定,而是要在运行期时候根据具体变量的值进行确定。
欢迎分享,转载请注明来源:内存溢出
考虑以下代码:
#include
using namespace std;
int N = 0;
void print(int a=N)
{
cout<
输出结果是 2 .
print函数使用了默认参数,而默认传入的参数又是一个变量的值,那么在改变了这个变量的值之后,在函数运行时传入的默认参数也会随之改变。
换言之,默认参数的值如果传入为变量的时候,并不是在编译期直接确定,而是要在运行期时候根据具体变量的值进行确定。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)