#1【从C语言过渡到C++】

01.bool类型

  1. 用来描述真假 True or False
  2. 非0为真

02.内联函数

  1. 通过“内存膨胀”的方式,以空间换取时间,目的是提高程序运行速度
  2. 定义和使用方式只是在普通函数的前面加上inline,如下:
  3. inline 返回值类型 函数名(参数表)
    {
        函数体;
    }

    评价:占用空间少的函数可以用,占用空间大的函数不建议用。

03.函数重载

  1. 同一个项目中定义的函数名字可以重复
  2. 函数名必须一致&&参数列表不同,避免二义性
  3. #include<stdio.h>
    
    int func(int n){
    }
    
    float func(float n){
    }
    
    void func(double n){
    }
    
    int main()
    {
        func(3.14);//匹配double类型的func函数
        func(3);//匹配int类型的func函数
        func(3.14f);//匹配float类型的func函数
        return 0;
    }

04.函数参数缺省

  1. 声明函数时,为一个形参指定一个默认值,调用函数时,在形参对应的实参位置可以省略,返回值为默认值,如代码注释【#1】位置
  2. 传参顺序是从前向后的,【#2】位置,num先得到6,val后得到3.14f,因此缺省参数时,必须以从后向前的顺序给形参默认值
  3. 如果要先声明函数,后定义函数,那么默认值只在声明时给,定义时不需要给
  4. #include <stdio.h>
    
    void function(int num, float val = 0.0f)//【#2】
    {
    	printf("num=%d,val = %f\n", num, val);
    }
    int main()
    {
    	function(6, 3.14f);//num=6,val = 3.140000【#2】
    	function(8);//num=8,val = 0.000000  【#1】
    }

05.引用

  1. 对一个变量或对象取别名
  2. 定义引用的时候必须要初始化(告诉编译器是给谁取的别名)
  3. 引用和原名的用法是完全相同的,变量类型和指向的内存地址都相同
  4. 解析引用符&起标志作用,说明是引用名
  5. #include <stdio.h>
    
    int main()
    {
    	int num = 0;
    	int& dd = num;//dd现在就是num的别名
    	printf("num=%d\n", num);
    	dd = 10;
    	printf("num=%d\n", num);//num=10
    }

06.命名空间*

  1. 命名空间是用来组织和重用代码的编译单元(重用代码指代码的重复使用)

  2. 作用:通过命名空间来避免冲突,解决重名现象

  3. 作用域符号 ::

  4. 可以在全局定义命名空间,也可以在局部定义,在命名空间里面定义命名空间,虽然可以嵌套定义,不能在函数里面定义命名空间

  5. 【#2】位置定义的NAME_1空间和【#1】命名空间是相同的,这也叫做命名污染,在不同的地方可以利用它完善命名空间

  6. 命名空间名字太长不方便记忆时可以给它取别名

  7. #include <stdio.h>
    
    namespace NAME_1//【#1】
    {
    	int num=10;
    	float val;
    	void func_1()
    	{
    		printf("func_1\n");
    	}
    	void func_2();
    }//作用域不用加分号
    
    namespace NAME_1//【#2】
    {
        char ch;
    }
    
    namespace N=NAME_1;//给命名空间可以取别名
    
    void NAME_1::func_2()
    {
    	printf("func_2\n");
    }
    struct Mystruct
    {
    
    };//属于定义域需要加分号
    
    int main()
    {
    	int num = 9;
    	printf("num=%d\n", num);
    	printf("num=%d\n", NAME_1::num);//num=10
    }

07.cin和cout

  1. cin的作用类似scanf
  2. cout的作用类似printf
  3. 他们在具体使用的时候有些区别
    #include <iostream>
    
    int main()
    {
    	int num ;
    	std::cin >> num;
    	std::cout << num << std::endl;
    
    }
  4. 当想省略在cin和cout前多次引用命名空间std时可以在全局声明std命名空间

  5. #include <iostream>
    //using namespace std;
    //使用更小的命名空间
    using std::cin;
    using std::cout;
    using std::endl;
    
    int main()
    {
    	int num ;
    	cin >> num;
    	cout <<"num=" << num << endl;
    
    	int a, b, c, d, e, f;
    	cin >> a >> b >> c >> d >> e >> f;
    	cout << a << b << c << d << e << f << endl;
    	return 0;
    }

08.new 和 delete

  1. new 的作用类似malloc,申请内存
  2. delete 的作用类似free,释放内存
  3. 释放连续内存时,只能向后释放,因此delete后面要跟首地址,否则不能完全释放
  4. #include <iostream>
    using namespace std;
    int main()
    {
    	//1.申请单个内存
    	int* p1 = new int;//申请int类型内存赋值给指针
    	*p1 = 0;
    	//2.申请单个内存且初始化
    	int* p2 = new int(999);//括号里是初值
    	cout << "*p2=" << *p2 << endl;
    	//3.批量申请,连续的内存
    	int* p3 = new int[10];
    	for (size_t i = 0; i < 10; i++)
    	{
    		p3[i] = i;
    		cout << "p3[" << i << "]=" << p3[i] << endl;
    	};
    	return 0;
    
    	delete p1;
    	delete p2;
    	delete[] p3;//加中括号连续释放批量申请的内存
    }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值