Thinking in C++ Notes 函数重载与默认参数
程序员文章站
2024-02-29 18:01:34
...
- 两种数据类型:enum union(属性会在同一区域覆盖) http://www.cplusplus.com/doc/tutorial/other_data_type
enum type{ int property1; float property2; } var_name;
- C++通过名字修饰来实现重载。如foo(int) 和 foo(float) 编译的内部名可能为: foo_int, foo_float 不同编译器会有区别。通过这种方式也实现了类型安全连接(type safe linkage)
- 占位参数符,在定义中不使用标识符,如 void f(int x, int ,float flt) { /* xxxx */ } 在函数体中可以不适用第二个参数而不报错。后来发现不需要可以直接去除而不会产生警告。
- 使用默认函数参数还是重载? 在某些时候默认函数也能解决重载的需求。使用的评判标准如下:不能把默认参数作为标志位而去执行不同的逻辑,一个默认的参数应该是一般情况下存在的变量,只是默认值可能性更大。 因此,重载用于做不同的事情,而默认函数用于做同一件事的默认值。
转载于:https://my.oschina.net/edwardpku/blog/108013
上一篇: 详解java枚举用法及实例