官术网_书友最值得收藏!

Default Arguments

Another feature C++ provides to make life easier for the caller when it comes to calling functions are default arguments.

Default arguments are added to a function declaration. The syntax is to add an = sign and supply the value of the default argument after the identifier of the parameter of the function. An example of this would be:

int multiply(int multiplied, int multiplier = 1);

The caller of the function can call multiply either with 1 or 2 arguments:

multiply(10); // Returns 10

multiply(10, 2); // Returns 20

When an argument with a default value is omitted, the function uses the default value instead. This is extremely convenient if there are functions with sensible defaults that callers mostly do not want to modify, except in specific cases.

Imagine a function that returns the first word of a string:

char const * firstWord(char const * string, char separator = ' ').

Most of the time, a word is separated by a whitespace character, but a function can decide whether or not it should use a different separator. The fact that a function offers the possibility to provide a separator is not forcing most callers, which simply want to use the space, to specify it.

It is a best practice to set the default arguments in the function signature declaration, and not declare them in the definition.

主站蜘蛛池模板: 玉田县| 民丰县| 华安县| 房产| 清河县| 栾城县| 延边| 普定县| 锦屏县| 黄冈市| 和平区| 比如县| 遂昌县| 台州市| 天津市| 舞阳县| 杭锦旗| 和平县| 长岭县| 宜川县| 禹城市| 米泉市| 万年县| 汉中市| 抚松县| 西和县| 瑞安市| 鄂托克前旗| 大名县| 鹤岗市| 阳朔县| 凤庆县| 都兰县| 寿宁县| 湖北省| 剑阁县| 庆城县| 德昌县| 周至县| 甘孜县| 旬邑县|