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

  • C++ Fundamentals
  • Antonio Mallia Francesco Zoffoli
  • 228字
  • 2021-06-11 13:36:00

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.

主站蜘蛛池模板: 石屏县| 河北区| 渝北区| 溧阳市| 广灵县| 辉南县| 玉龙| 庄浪县| 红河县| 新泰市| 德化县| 天镇县| 陕西省| 凌海市| 阿合奇县| 贡嘎县| 富顺县| 富锦市| 定西市| 海丰县| 五峰| 山东省| 高雄县| 江北区| 抚宁县| 霍林郭勒市| 读书| 南宫市| 莱州市| 盐亭县| 雷山县| 家居| 舒兰市| 定远县| 红河县| 堆龙德庆县| 耿马| 南平市| 新安县| 增城市| 大化|