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

  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. 使用默认函数参数还是重载? 在某些时候默认函数也能解决重载的需求。使用的评判标准如下:不能把默认参数作为标志位而去执行不同的逻辑,一个默认的参数应该是一般情况下存在的变量,只是默认值可能性更大。 因此,重载用于做不同的事情,而默认函数用于做同一件事的默认值。

你可能感兴趣的:(Thinking in C++ Notes 函数重载与默认参数)