欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Thinking in C++ Notes 函数重载与默认参数

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

转载于:https://my.oschina.net/edwardpku/blog/108013