【C++】引用、内联函数、函数重载、函数默认参数(缺省参数)与占位参数、extern “C“ 浅析

extern “C“ 怎么使用? 函数前加 extern 是什么意思? 深度理解 C++ 与 C 代码之间的互操作性 C++ 代码(library.cpp)C 语言代码(main.c)// main.c// 声明 C++ 函数return 0;编译和链接# 编译 C++ 代码 g++ -c library.cpp -o library.o # 编译 C 代码 gcc -c main.c -o main.o # 链接生成可执行文件 g++ main.o library.o -o my_program运行my_program用途extern "C" 阅读详情

        端午继续~

        C++对C的扩展

目录

引用

普通变量名引用

对数组的引用

对指针的引用

对函数的引用

引用作为函数的参数

引用作为函数的返回类型

常引用

内联函数 

函数重载

函数的默认参数(缺省参数)

默认参数和函数重载的二义性

占位参数

extern "C" 浅析


引用

        本质:给变量名取别名,可以通过别名间接操作变量

        &:引用说明符(不是取地址符)

        给哪个变量取别名,就定义该变量

普通变量名引用

void Test()
{
	int a = 0;
	//给变量a取一个别名叫b 
	//&修饰变量为别名,b就是a的别名 --- 引用
	int& b = a;//必须初始化,这里&不是取地址,是引用
}

注意:系统并不会为引用开辟空间,a,b代表同一个空间。

我们可以看一下地址

void Test()
{
	int a = 0;
	//给变量a取一个别名叫b 
	//&修饰变量为别名,b就是a的别名 --- 引用
	int& b = a;//必须初始化

	cout << "&a = " << &a << endl;
	cout << "&b = " << &b << endl;
}

运行结果:

操作b等价于操作a

b = 10; 等价于操作了 a = 10;

对数组的引用

void Test_2()
{
	int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };
	int sz = sizeof(arr) / sizeof(arr[0]);
	//给数组arr取别名my_arr
	//注意这里要将&my_arr用括号括起来,否则my_arr会先于[10]结合
	int (&my_arr)[10] = arr;
	//访问的方式是一样
	int i = 0;
	for (i = 0; i < sz; i++)
	{
		cout << my_arr[i] << " ";
	}
}

对指针的引用

void Test_3()
{
	int num = 6;
	int* p = &num;
	//给num取别名为 my_num 
	int*& my_num = p;//这里&的优先级高于*,所以可以不用带括号
	//访问时,与指针的访问方法是一样的
	cout << "num = " << *my_num << endl;
}

对函数的引用

int main()
{
	//对函数Test_3取别名为My_Test_3
	void(&My_Test_3)() = Test_3;//注意括号不可省略
	//访问
	My_Test_3();
	return 0;
}

        这么多例子,我们为什么要用引用,引用能解决什么问题?

        咱往下走~

引用作为函数的参数

        这是引用解决的主要问题,函数可以通过引用来操作外部变量

        这里学过C语言的小伙伴可能注意到了,引用和指针十分相似

确实如此~

        指针有一些操作比较麻烦地方:

形参是带指针*,并且实参要取地址,相对于来说比较麻烦。

所以在之后的学习中需要用到指针的地方尽量换成用引用

我们来对比一下,指针操作和引用操作,交换两个变量:

void My_exchange_1(int* x, int* y)
{
	int tmp = *x;
	*x = *y;
	*y = tmp;
}
void My_exchange_2(int& x, int& y)
{
	int tmp = x;
	x = y;
	y = tmp;
}
int main()
{
	int a = 6;
	int b = 8;
	cout << "交换前:a = " << a << " b = " << b << endl;
	My_exchange_1(&a, &b);//指针
	My_exchange_2(a, b);//引用
	cout << "交换后:a = " << a << " b = " << b << endl;
	return 0;
}

引用作为函数的返回类型

int& Ret()
{
	int num = 5;
	return num;
}
int main()
{
	int& b = Ret();//由于函数返回类型为int&,所以应该用别名类型来接收
	//这里相当于间接给num取了一个别名b
	return 0;
}

        但是,我们都知道,局部变量一旦出了函数,就销毁了,所以这里的相当于你给一个已经释放了的空间取别名,这是不因该的,(会出现段错误)所以函数返回时不应该返回局部变量 !

常引用

简而言之就是给常量取别名

注:不能通过常引用修改内容

         可以看到这里编译器会报错,为什么呢?

        给10这个常量取别名为num,10是一个常量,但num是一个变量, C++格式要求十分严格,所以这里会报错。

如何解决呢?

const修饰以下即可 

有什么用呢?

防止函数内部修改外部的值

观察以下代码:

void Print(const int& x)
{
	//x = 100 //err
	cout << "num = " << x << endl;
}
int main()
{
	int num = 10;
	Print(num);
	return 0;
}

        我们知道,用引用作为形参可以节省空间,x 和 num 表示一个空间,这里写一个函数,功能就是遍历,但同时我希望他的功能只是遍历,如果一不小心修改了形参 x,也意味着 num 被修改,很危险,所以这里可以用常引用修饰 x,使 x 不可被修改,既提高了安全性,有节省了空间。

内联函数 

        必须在定义函数的时候使用inline关键字修饰,声明时不需要

string Print();

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

inline string Print()
{
	string s1 = "端午节";
	string s2 = "快乐";
	return s1+s2;
}

直观感受是不是和普通函数差不多?

其实有很大滴作用!

        内联函数:在编译阶段,将内联函数中的函数体 替换 函数调用处 ,避免函数调用时的开销(类似于宏函数,内联函数只是编译阶段直接替换,宏函数在预处理阶段替换)。

注意事项:

1.不能存在任何形式的循环语句

2.不能存在过多的判断语句

3.函数体不能过于庞大

4.不能对函数取地址

所以,加上inline并不是使函数成为内联函数的充要条件,他只是必要条件

加上inline只是告诉编译器,希望使其成为内联函数,最终是不是,还是有编译器决定。

函数重载

表示同一个函数在不同的场景下可以有不同的含义

        同一个作用域,函数的参数类型,个数,顺序不同都可以重载(返回类型不能作为重载的条件)。

void print_1(int a)
{
	cout << "int" << endl;
}
void print_1(char a)
{
	cout << "char" << endl;
}
void print_1(int a, char b)
{
	cout << "int char" << endl;
}
void print_1(char b, int a)
{
	cout << "char int" << endl;
}
int main()
{
	print_1(50);
	print_1('a');
	print_1(60,'b');
	print_1('c',70);//根据参数自动匹配

	return 0;
}

        可以看到这里,函数名都一样,只是参数的类型,个数,顺序不一样,只要一种或多种,都可以重载。

        重载函数的底层原理:实际上这些函数在linux编译之后会产生不同的函数名,然后根据参数自动匹配不同函数的。

函数的默认参数(缺省参数)

#include<iostream>

using namespace std;

void test_1(int a = 10, int b = 20)//这里的int a = 10,被赋值10,说明只是一个默认参数
{
	cout << "a + b = " << a + b << endl;
}

//注意1
//如果b设为默认参数,则从b往右的参数都必须设为默认参数
//也就是说,此时a不受影响,c是必须设为默认参数
//因为形参位置与实参位置保持一致,假设c没有默认参数
//调用test_2(100,200),这时,a,b都被赋值,c没有赋值,编译器就会报错(缺少参数)

void test_2(int a, int b = 20, int c = 30)
{
	cout << "a + b = " << a + b << endl;
}
//还有值得注意的一点:如果函数声明与函数定义分开,想要设置默认参数,只需在声明里设置即可,函数定义无需再设。
int main()
{
	test_1();//可以什么参数都不传,这里就会使用默认参数
	test_1(30);//将30这个实参传给a,这时,函数就不会使用默认参数,而是a = 30;
	test_1(40, 50);//同理,此时a,b的默认参数失效, a,b的值因为 40 , 50
	return 0;
}

默认参数和函数重载的二义性

void fun(int a)
{
	cout << "a = " << a << endl;
}

void fun(int a, int b = 20)
{
	cout << "a = " << a << endl << "b = " << b << endl;
}

int main()
{
	fun(10);
	return 0;
}

此时编译器会报错:

什么意思呢?

        就是说,此时调用fun(10)传入一个参数,既可以传给第一个fun,也可以传给第二个fun(第二个fun的第二个参数有默认参数,所以传入一个参数也正确),编译器不知到传给哪个fun,所以就报错 ,但如果这样调用fun(10,20)就是正确的,他会自动匹配到第二个fun。

占位参数

        占位参数只有类型声明,没有参数名声明,一般情况下,函数体内部无法使用占位参数。

//形式一
void test_1(int a , int)
{
	;//这里的int就是占位参数
}
//形式二
void test_2(int a , int = 20)
{
	;//int = 20是占位参数,其实这里只是有一个隐形的参数名,但也只是表现形式,无法使用
}
int main()
{
	test_1(10, 20);//传参依然要传两个,并且类型对应,否则报错(缺少参数)
	test_2(10);//占位参数有缺省值,所以可以只传一个参数
	test_2(10, 20);//当然传两个也okk
	return 0;
}

也就是说,占位参数位置必须要传入参数,除非有缺省值。

至于怎么用,以后章节会细讲滴。

extern "C" 浅析

        C++编译函数和C编译器编译函数的方式是不同的,假设定义一个Fun函数,经过C编译后会产生一个新的函数名叫Fun,而经过C++编译器编译后产生的新函数名可能(不同的C++编译器效果不一样)叫Funv,所以如果调用函数可能就会存在连接错误,那么为了能在C++的环境下调用C语言函数,就引入了extern "C",这部分代码也将按照C语言的编译方式取运行。

使用如下:

#if __cplusplus //检测当前是否是C++工程
extern "C"//满足则执行这里
{
#endif//不满足则执行这里,因为不满足说明就是C语言工程,直接引用以下就可以
	extern//引入你想要实现的C语言的函数声明
		//...
		; 
#if __cplusplus
}
#endif

码字不易~

C++中extern “C”深层探索 C++语言的创建初衷是“a better C”,但是这并不意味着C++中类似C语言的全局变量和函数所采用的编译和连接方式与C语言完全相同。作为一种欲与C兼容的语言,C++保留了一部分过程式语言的特点(被世人称为“不彻底地面向对象”),因而它可以定义不属于任何类的全局变量和函数。但是,C++毕竟是一种面向对象的程序设计语言,为了支持函数的重载,C++对全局函数的处理方式与C有明显的不同。C引用C++函数例子工程中包含的三个文件的源代码如下://C++头文件 cppExample.h#endif。 阅读详情

相关推荐

C++基础篇—函数重载与Extern C

问题引出     之前提到C存在命名冲突问题,新的C++专门为此引入了namespace机制加以改进(后文介绍),此外还有另一种机制:     int add(int i, int j) {    return i+i;  }     float add(float a, float b, floatc)  {    return a+b+c;   }     void main()

半山茶馆 3328

C++--基础知识--extern--引用的具体理解(详细)

C++基础知识extern引用操作1.概念2.特点3.常引用4.使用场景1)做参数2)做返回值5.引用和指针的区别 extern 在C++的某些操作上,需要按照C语言的方式进行编译,故我们就需要一个可以在C++中操作C语言的操作, extern “C” +对应的函数操作 extern "C" int add(int a, int b); extern "C"{} //括号内部都可以按照C编译,这里可以将你要利用 //C语言编译的全部写进去,不用每次都写一遍 引用操作 1.概念 引用这个操作就

贵在坚持,我相信只要我努力,未来肯定是美好的! 591

【C/C++实战篇】C语言外部变量extern 和 extern “C“用法详解,C++导入C函数

本文主要介绍了C/C++中extern关键字的用法。extern用于扩展变量和函数的可见性,使其能在不同源文件或同一文件的不同位置使用。对于变量,extern声明变量但不定义;对于函数,extern默认隐含声明。文章通过多个示例展示了extern的使用场景,包括跨文件引用全局变量、提前引用全局变量等。此外,还介绍了C++中extern "C"的用法,用于兼容C语言函数调用。关键点包括:声明可多次而定义只能一次,extern修饰变量时仅声明不分配内存,而初始化时则同时定义。最后说明了头文件

程序员,他们想的是什么?他们想的永远都是技术,他们崇尚的也永远都是技术。 7835

关于extern声明后,变量值和定义值不一样的问题及解决办法

软件:vc6.0 语言:c 问题描述: 在main文件定义了一个全局变量int g_score=0;//分数 在另外一个文件中声明 extern int g_score 希望在含有声明extern int g_score的这个文件中对g_score进行g_score+=10操作 结果发现第一次走这个语句打印出来的是11而不是10! 进一步打印+=10之前的g_score,发现竟然等于1而不是主文件定义的0! 解决方法:调换定义和声明,即在要操作使用g_score的这个文件中定义全局int g..

学习中 1633

工业异常检测评价指标(I-AUROC、PRO等)

模型评价指标:TPR、FPR、Recall、ROC、AUC、AUROC、IoU、PRO、AUPRO等

qq_1532145264的博客 7427

智能工厂四大系统协同实战:ERP/PLM/MES/WMS集成架构与数据流解析

本文深入解析了智能工厂中ERP、PLM、MES、WMS四大核心系统的协同集成架构与数据流。通过实战案例,阐述了如何打通系统孤岛,实现从产品设计、资源计划、生产执行到仓储物流的数据无缝流转,从而构建高效、敏捷的智能工厂运营体系。

ujm567890的博客 674

static、extern的使用及注意点总结

乱世枭雄:static和extern 这几天在学习c的基本知识 将今天所学的static和extern知识总结归纳一下! 首先在c程序的国度,main就是这个国家的君主,而各个函数则是军阀,main通过“下传圣旨”(就是参数)来调用各个军阀(函数)。然而static函数树立了自己的政权,并不是一味的听从于main函数,他主要不服从的是:static私藏小金库(就是空间)。而extern更加狂妄,不同的国家即不同的.c文件之间可以通过extern互相私通传递信息。二者联合作乱,让编程者逻辑混淆。那么接下来 我

qq_46186025的博客 785

【低空经济】低空无人驾驶航空器运行管理系统设计方案

低空无人驾驶航空器运行管理系统(以下简称“系统”)旨在为低空域内的无人驾驶航空器(UAV)提供高效、安全、智能的运行管理服务。系统通过集成先进的通信、导航、监控、数据处理和人工智能技术,实现对低空域内无人驾驶航空器的实时监控、动态调度、风险评估和应急响应,确保其在复杂空域环境中的安全运行。系统的核心功能包括空域管理、飞行计划审批、实时监控、冲突预警、应急管理和数据分析。空域管理模块负责划分和管理低空域资源,确保不同飞行任务之间的空域隔离和高效利用。

2502_92579126的博客 1140

c语言extern声明两个参数不同的函数,C语言之extern声明辨析[2]

C语言之extern声明辨析[2]以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!   问题 extern 函数  常常见extern放在函数的前面成为函数声明的一部分 那么 C语言的关键字extern在函数的声明中起什么作用?  答案与分析   如果函数的声明中带有关键字extern 仅仅是暗示这个函数可能在别的源文件...

weixin_39527768的博客 434

ipsec 加密流程(一):ipsec策略匹配

《openswan》专栏系列文章主要是记录openswan源码学习过程中的笔记。 Author: Toney Email: vip_13031075266@163.com Date: 2020.11.22 Copyright: 未经同意不得转载!!! Version:2.6.51.5 Reference:https://download.openswan.org/openswan/ 1. ipsec策略匹配流程(ipsec_tunnel_start_xmit) 注:open...

遇见你是我最美丽的意外 9121

keil4.72添加GD32F10x芯片

1. 下载 GD32F10x_AddOn_V2.0.1.rar,解压缩。 2. 安装 运行GigaDevice.GD32F10x_AddOn.2.0.0.exe 安装位置 再新建工程,发现已经有GD32F10x 3. 增加的文件分析 运行GigaDevice.GD32F10x_AddOn.2.0.0.exe后,在keil文件夹种增加文件如下: ...

TrueLink的博客 2762

【 C++入门 】函数重载、extern“C“

目录 一、函数重载 1、函数重载概念 2、函数重载注意点 3、问题:为何C语言不支持函数重载,反倒C++可以? Linux环境下演示函数重载 回顾程序的编译链接 采用C语言编译器编译后结果 gcc的函数名修饰规则 采用C++编译器编译后结果 g...

bit_zyx的博客 3132

【异常】Cursor导入Karpathy指南失败解决方案Failed to import GitHub/GitLab rules: Error executing git: Cloning into

摘要:本文解决了Git克隆单个文件报错的问题,指出git clone只能克隆整个仓库而非单个文件。提供了两种解决方案:1) 推荐手动创建规则文件,在Cursor项目中新建.mdc文件并粘贴Karpathy行为指南完整内容;2) 备选克隆整个仓库获取文件。指南包含编码行为规范,强调简单性、精准修改和明确目标。还说明了如何设置全局规则和即时生效的方法。

奶爸的编程之路,也就一周冷个三天 174

C++ 函数进阶:内联函数、重载、默认参数、占位参数

比如上面举的例子,C++中调用C语言实现的myFunc函数,在链接阶段会去找_Z6myFuncv,结果是找不到,因为void myFunc(){}函数是C语言编写的,生成的函数名是myFunc。本文主要探讨了C++中的关键概念:内联函数、函数重载以及函数的默认参数,这些特性极大地丰富了编程语言的功能,提高了代码的复用性和执行效率。C++函数重载是指在一个类中定义多个同名函数,这些函数的参数列表不同(参数数量、类型或顺序等),以便根据调用时传递的实参来选择合适的函数进行调用。3 函数的默认参数。

GodJhin的博客 1568

C#串口通信上位机开发实战:轻松实现硬件控制与数据交互

摘要:本文介绍如何使用C#开发串口通信上位机应用,实现与硬件设备(如传感器、PLC等)的数据交互。文章涵盖串口通信原理、开发环境配置、功能实现(串口连接管理、数据收发、实时显示)及UI设计,重点讲解SerialPort类的应用、多线程数据接收处理和错误优化。通过Windows Forms构建直观界面,帮助开发者快速掌握工业控制和自动化系统中的串口通信技术,为物联网和智能设备开发提供实用解决方案。全文约150字。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 3028

算法真的是个很有用的东西,通过python或者golang实现对N张图片的自动排版,每张图片的长和宽都不一样,有的是横图,有的是竖图,最终需要生成一张完整的矩形图片

算法真的是个很有用的东西,通过python或者golang实现对N张图片的自动排版,每张图片的长和宽都不一样,有的是横图,有的是竖图,最终需要生成一张完整的矩形图片。

代码讲故事 501

C++基础篇之缺省参数和函数重载

为什么C++支持重载C语言不支持呢?C的编译器编译出的静态库C++怎么调用呢?

m0_64770095的博客 1726

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

C++函数进阶(内联函数、默认参数、占位参数、函数重载、extern “C“)

文章目录1 内联函数(inline function)1.0 内联函数的引出2 函数默认参数3 函数占位参数4 函数重载4.1 函数重载概述4.2 函数重载注意事项 1 内联函数(inline function) 1.0 内联函数的引出 宏函数: 优点:以空间换时间,消耗内存空间以节省普通函数入栈与出栈的时间开销 2 函数默认参数 在C++中,函数的形参列表中的形参是可以有默认值的。 语法:返回值类型 函数名 (参数= 默认值){} 示例: int func(int a, int b = 10, int

NewsomTech 563

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

【C++】C++对C的扩展

本篇文章将讲到在C++ 下如何设计一个类,内联函数, 函数的默认参数和占位参数, 函数重载, extern “C” 浅析。

2301_80035097的博客 1254

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

【C++】extern “C“ 和 extern 深度探索

本文介绍了C和C++中extern关键字的用法及其在链接阶段的作用。extern用于声明在其他文件中定义的全局变量或函数,实现跨文件共享。extern "C"则是C++特有的用法,用于指示编译器按照C语言的链接规则处理代码,解决C++与C语言的链接兼容性问题,避免名称修饰带来的链接错误。文章还探讨了extern在修饰const变量时的注意事项,以及extern "C"影响本文件符号导出的细节。此外,还讨论了extern "C"对普通类型和C++类型符号导出的影响,以及extern "C"的正确使用方式。

杨翔裕的博客 2122

C++——关键字 命名空间 输入&amp;输出 缺省参数 函数重载 引用_dword ptr [变量名]

C语言中定义一个变量可能会跟一些函数名发生冲突,C++中为了解决这个问题 提出了namespace这个概念用namesapce来定义一个域, 若要使用这个域内的变量,我们使用域名::变量名,说明变量出处即可使用如若不 说明变量出处则是一个随机值::叫作用域限定符,这样可访问全局变量a命名的空间内可定义变量,函数,结构体,使用的时候需要声明命名空间int val;命名空间可以嵌套int a;int b;int c;int d;

2501_90251284的博客 1080

域 缺省参数 函数重载 引用 编译链接

如果用C++写的程序提供接口函数给使用者,C++使用者可以直接使用,但如果是一个C使用者调用函数会找不到地址,因为在汇编过程中C使用不修饰的函数名找调用函数,而C++在汇编会产生修饰的函数名,因此无法调用。引用不是新定义一个变量,而是给已存在变量取了一个别名,编译器不会为引用变量开辟内存空间,它和它引用的变量共用同一块内存空间。有时候在C++工程中可能需要将某些函数按照C的风格来编译,在函数前加extern “C”,意思是告诉编译器,将该函数按照C语言规则来编译,不要用C++的规则修饰函数名去编译。

cleveryuoyuo的博客 1376

【C++】C++函数重载原理与extern “C“详解

文章摘要:函数重载是C++中允许同名函数通过不同参数(类型/个数/顺序)实现不同功能的技术,其原理在于编译时的名字修饰机制。C语言不支持重载因其不修饰函数名,而C++通过参数信息修饰函数名实现区分。当C程序调用C++库时,需使用extern "C"声明使函数名保持C风格,确保链接成功,但会丧失重载能力。这种机制体现了C++对C的兼容性,同时保持了自身的灵活性。

C语言、数据结构、单片机、嵌入式实时操作系统、C++ 学习路径记录 1485

C++——关键字|命名空间|输入&输出|缺省参数|函数重载|引用

C语言中定义一个变量可能会跟一些函数名发生冲突,C++中为了解决这个问题 提出了namespace这个概念用namesapce来定义一个域, 若要使用这个域内的变量,我们使用域名::变量名,说明变量出处即可使用如若不 说明变量出处则是一个随机值::叫作用域限定符,这样可访问全局变量a命名的空间内可定义变量,函数,结构体,使用的时候需要声明命名空间{{}{int val;};}命名空间可以嵌套{int a;int b;{}{int c;int d;{

weixin_49449676的博客 1412

day3 cpp:函数重载,默认参数,内联函数,内存布局和c风格字符串

‌当多个源文件(.cpp)包含同一头文件时,其中的非内联函数/变量定义会被重复实例化,违反单一定义规则(ODR),导致链接阶段出现重复定义错误。例如全局变量或非内联成员函数的定义在头文件中会导致此问题。2. ‌。

gfgddg的博客 932

C++基础知识梳理<1>(命名空间、缺省参数、函数重载、extern “C“)【入门级】

本文主要是对C++的基础知识:命名空间、缺省参数、函数重载原理、extern "C"、进行深入讲解。

weixin_60718941的博客 1158
上一篇: 【C++】语法、输入&&输出、命名空间、结构体增强、bool
下一篇: 【C语言】一次让你看透数组的笔试题
陈亦康
陈亦康 优质创作者: Java技术领域 优质创作者: Java技术领域
博客等级 码龄5年 6万+粉丝 388原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

陈亦康

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值