C++快速入门之输入输出,函数的重载,函数的默认参数

IDE   vs studio 2019community
1.来段hello压压惊
  #include <iostream>
  using namespace std;

  int main() {
    cout << "hello" << endl;
    return 0;
  }

2.输入输出

  int main() {

  int age;
  cin >> age;// cin接收输入

  cout << "age is" << age << endl; //count 输出 endl是换行
  return 0;
  }

3.函数的重载

函数名相同,参数个数不同、参数类型不同、参数顺序不同,这种函数就叫函数的重载

  int sum(int a, int b) {
  return a + b;
  }

  int sum(int a, double b) {
  return a + b;
  }

  int sum(double b, int a) {
  return a + b;
  }

  int sum(int a, int b, int c) {
  return a + b + c;
  }

  int main() {
  cout << sum(10, 20) << endl;
  cout << sum(10, 10.5) << endl;
  cout << sum(10.5, 10) << endl;
  cout << sum(1, 2, 3) << endl;

  return 0;
  }

  函数重载的本质是采用了name mangling或者叫name decoration技术
  C++编译器默认会对符号名(比如函数名)进行改编、修饰,有些地方翻译为“命名倾轧”
  重载时会生成多个不同的函数名,不同编译器(MSVC、g++)有不同的生成规则
  通过IDA打开【VS_Release_禁止优化】可以看到
 
4.函数的默认值

  void display(int count, string str = "asdsadasd") {
  cout << count << str << endl;
  }

  int main() {
  display(123);
  return 0;
  }

  默认参数只能按照右到左的顺序
  4.1.如果函数同时有声明、实现,默认参数只能放在函数声明中
  4.2默认参数的值可以是常量、全局符号(全局变量、函数名)
 
posted @ 2021-04-12 21:15  moligogogo  阅读(309)  评论(0)    收藏  举报