test_default_parameter.h
#pragma once
void foo(int i, int j = -1);
test_default_parameter.cpp
#include <iostream>
void foo(int i, int j)
{
std::cout << "i=" << i << ", j=" << j << std::endl;
}
main.cpp
//#include "test_default_parameter.h"
#include <iostream>
void foo(int i, int j = 10);
int main()
{
foo(10); // 别运行,手推下输出结果是什么
}
函数使用参数默认值的坏处:
1.代码可读性差,例如上面foo
明明两个参数,调用时却像只有一个参数;
2.别人可以修改你默认值呀,如上面的例子。