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


posted on 2020-09-29 10:29  程耀辉  阅读(137)  评论(0编辑  收藏  举报