• 学习第40天


    C++语言

    1. 函数与后置返回类型、

      1. 函数可以没有形参 但实参的值必须有 类型不能省略、

      2. 前置返回类型、将函数返回类型放在函数名称前

      3. void b(int, int);//函数声明是可以只有类型 没有函数形参名
        void a(int b, int)//只给类型、没有形参变量名、
        {
        	return;
        
        }
        
        int main()
        {
        	a(10, 39);
        
        }
        
      4. C++11出现了后置返回类型、函数返回类型写在参数列表之后、

        1. auto b(int, int)->void;//函数声明后置返回类型
          auto a(int b, int)->void//auto 自动类型推断、函数定义后置返回类型、
          {
          	return;
          
          }
          
          int main()
          {
          	a(10, 39);
          
          }
          
        2. 前面放置auto便是函数的返回类型放在参数列表之后、而参数列表之后的返回类型通过->开始、

    2. 内联函数、

      1. 普通函数定义前加inline、便是内联函数、

        1. inline int a(int b)//内联函数
          {
          	return 1;
          
          }
          
        2. 调用函数消耗系统资源、内联解决了函数体小、而且频繁调用的函数

        3. inline影响编译阶段、在编译期尝试将调用该函数的动作替换成函数本体、目的是提升性能

        4. 函数动作替换为函数本体会带来代码膨胀问题、

        5. inline取决于编译器、

    3. 函数杂合用法、

      1. void 表示函数不返回任何类型 但是可以调用一个返回类型为void的函数、作为另一个返回类型void的函数返回值、

        1. void a()
          {
          
          }
          void b()
          {
          	
          	return a();
          	return;
          }
          
          1. 函数返回指针和返回引用、

            1. 这样使用有安全问题、这样是往其它地址写入内容、

            2. int* a()
              {
              int b = 3;
              return &b;//函数执行后、此段内容便会被系统回收、
              }
              
          	3. 返回引用、
          
          	1. ```c
              int &a()
              {
              	int a = 3;
              	cout << &a << endl;
              	return a;
              }
              int main()
              {
              	int& b = a();
              	cout << &b << endl;//同样也是有安全问题、使用整型来解决安全问题
                  int b = a();
              	cout << &b << endl;//使用整型来解决安全问题、这样的话就不是同样的一个地址、不用担心内存问题、
              }
          

          1. 没有形参可以保持形参列表为空

          2. 函数不调用的话可以只有声明部分、没有定义部分、

          3. 函数定义一般只能定义一次、但可以多次声明、函数定义一般放在.cpp文件中,函数声明文件一般放在.h里面、

          4. 引用做形参、

            1. struct a
              {
              int b;
              };//定义结构体
              void c(a& d)
              {
              d.b = 50;
              }
              int main()
              {
              a e;
              e.b = 190;
              c(e);
              cout << e.b << endl;
              }
              
          	2. 不存在只拷贝问题、只是传递地址、
          
          7. 防止形参和实参的只拷贝、所以尽量使用引用类型的形参取代指针类型的形参、
          
    4. const char、char const、char const三者的区别、

      1. 把形参写成const的好处、可以防止无意中修改了形参的值导致实参被改变、
        2. 实参类型更灵活、
        3.
    5. 函数形参中带const


  • 相关阅读:
    Android SwipeActionAdapter结合Pinnedheaderlistview实现复杂列表的左右滑动操作
    Android 使用SwipeActionAdapter开源库实现简单列表的左右滑动操作
    你读到了什么:谈谈阅读的空与实
    飞行的架构师和奔跑的程序员
    poj 3252 数位dp
    hdu 4734 数位dp
    hdu 2089 不要62 数位dp入门
    蓝桥杯模拟赛 青出于蓝而胜于蓝
    bzoj 4034
    hdu 3974 dfs时间戳+线段树
  • 原文地址:https://www.cnblogs.com/chengyaohui/p/13748371.html
Copyright © 2020-2023  润新知