搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
寸_铁
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
最佳的6款原型设计工具_好用的原型设计工具
2
【华为机试】2024年真题C卷(java)-最长子字符串的长度1_给你一个字符串s,字符串s首尾相连成一个环形
3
如何使用7-Zip清除压缩包密码_7z文件绕过密码解压
4
IntelliJ IDEA 自带的 HTTP Client 接口调用插件,吊打 Postman_idea curl插件
5
2024年大数据最新【新学期】双非本科大三学长经验分享_大三才学人工智能,2024年最新太完整了
6
RDD编程初级实践_头歌答案统计该系 database 课程共有多少人选修,直接打印输出计算的结果。 输出示
7
[EN] re:Invent 2023 - Monday Night Live with Peter DeSantis
8
求职之路(拿到百度、美团、趋势科技、华为offer)_华为和美团的测试 选哪个
9
珈和科技和比昂科技达成战略合作,共创智慧农业领域新篇章
10
异常检测(三):PaDiM: a Patch Distribution Modeling Framework for Anomaly Detection and Localization
当前位置:
article
> 正文
C++函数传出参数_c++ 出参
作者:寸_铁 | 2024-07-08 09:31:32
赞
踩
c++ 出参
在C++中,函除了用return返回参数之外,还可以在指针做为参数传出参数.看下面一个小例子:
#include<iostream>
using namespace std;
int test(int *arr,int* count)
{
int i = 0;
for(i ; i < 5 ; ++i)
{
arr[i] = i;
}
*count = i;
return i;
}
int main()
{
int arr[5] = {0};
int num;
test(arr,&num);
for(int i = 0; i < num; i++)
{
cout << arr[i] <<endl;
}
system("pause");
return 0;
}
从上面代码可以看出test有二个指针参数,都是做为函数输出用的.
第一个参数是指针型,也可以看做是一个一维数组首地址,将数组的首地址传入,当对其进行操作时,就相当于操作数原数组,所以,在函数里面改变数组的值时,做为参数的数组值也会发生改变.
第二个参数也是指针,但在这里传入的是一个整型变量的地址,函数中count指向的是整型num变量所在的地址,改变*count值时就改变了num变量的值.
对于一般的类型和数组都可以这样在函数中输出.但对于字符串char*,做为输出时需要用char**.如
#include<iostream>
using namespace std;
void test1(char* str)
{
str = "guoke";
}
void test2(char** str)
{
*str = "guoke";
}
int main()
{
char *s = "abc";
test1(s);
cout << s << endl; // 输出 abc
test2(&s);
cout << s << endl; // 输出guoke
system("pause");
return 0;
}
函数 test1 的修改之所以无效,是应为 "指针(引用)本身同样是按值拷贝传递的".也就是说 test1 中修改的只是复制后的指针内容,与 main 中的实参指针 s 并无关联.要修改实参指向,就必须传递实参原始地址,而非复制后的地址.在test2中,当两个指针(引用)指向同一个对象时,我们可以修改对象成员,但指向新对象后,就断了这种关联,这样就可以达到修改的目的了.
PS:对于参数传出也可以用&,如void test(int &count);这样也能达到传出的效果,但个人让为&多用于函数传入时引用,对于传出还是用*的比较好.用*可以设计缺省值,而&确不能.如:
#include<iostream>
using namespace std;
int test(int *arr,int* count = NULL)
{
int i = 0;
for(i ; i < 5 ; ++i)
{
arr[i] = i;
}
if(count)
*count = i;
return i;
}
int main()
{
int arr[5] = {0};
int num = test(arr);
for(int i = 0; i < num; i++)
{
cout << arr[i] <<endl;
}
system("pause");
return 0;
}
转自:
http://blog.csdn.net/zd0303/article/details/6437535
声明:
本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
https://www.wpsshop.cn/w/寸_铁/article/detail/798323
推荐阅读
article
ElasticSearch
常用字段
类型
_
es
keyword
的属性eagerglobalordin...
ElasticSearch
属性大全 typeES常用的数据
类型
可分为3大类核⼼数据
类型
复杂数据
类型
专⽤数据
类型
核心数据类...
赞
踩
article
linux
webrtc
docker
搭建_
linux
运行
webrtc
streamer...
【代码】
linux
webrtc
docker
搭建。_
linux
运行
webrtc
streamer
linux
运行web...
赞
踩
article
一个轻量级
、
高性能
的
C++
Web
框架
_
oatpp
支持多进程吗...
说起
Web
开发,大多数人会想到 Java
、
Python
、
Golang ... 因为它们
的
主流
Web
框架
有很多,J...
赞
踩
article
[书籍翻译]
12
周
撰写期刊文
章
学术出版成功指南——
第
1
周
:
设计
写作
计划
_
第
12
周
:对
第
5
章
第
6...
第
1
周
:
设计
写作
计划
每天要做的任务
第
1
周
每日
写作
任务预计任务时间
第
1 天(星期一?)通读
第
10 页并填写那些...
赞
踩
article
Flutter
开源项目 -
appFlowy
真的是
Notion
的替代品 一周暴涨
star
9...
githttps://www.
appflowy
.io/https://github.com/AppFlowy-IO/ap...
赞
踩
article
Pandas
+Pyecharts:2024
中国大学
综合排名
分析+
可视化
,为什么有人说
Python
开发
...
Java、Linux运维、云计算、MySQL、PMP、网络安全、
Python
爬虫、UE5、UI设计、Unity3D、We...
赞
踩
article
ROS2
多线程
的
Python
实现_
ros2
节点
中需要
多线程
么...
本文介绍了
ROS2
中
的
并发概念,探讨了不同类型
的
执行器(如SingleThreadedExecutor和MultiThr...
赞
踩
article
操作系统
页面
置换
算法
之
先进先出
(
FIFO
)
页面
置换
算法
(C语言实现)_
c
语言,
先进先出
...
先进先出
(
FIFO
)
页面
置换
算法
【注】本代码数据及思路方法参考自《计算机
操作系统
(第四版)》汤小丹等 编著的教材。#in...
赞
踩
article
MACBOOK
PRO M2 MAX 96G
内存
安装
Stable
Diffusion
及文生图实例_...
(全套教程文末领取哈)_
macbook
96g
内存
macbook
96g
内存
...
赞
踩
article
吴裕雄
python
机器
学习
——岭
回归
...
import numpy as npimport matplotlib.pyplot as pltfrom sklear...
赞
踩
article
探索未来科技:
GPT
-
SoVITS
-
智能
语音
与视觉
交互
系统
...
探索未来科技:
GPT
-
SoVITS
-
智能
语音
与视觉
交互
系统
项目地址:https://gitcode.com/RVC-...
赞
踩
article
【
Stable
diffusion
】
绘世
启动器
绘画
有多
简单
?...
随着秋叶大神的
绘世
启动器
4.8版本发布,AI
绘画
的搭建过程越来越简化,学习/使用成本降低了不少,对AI
绘画
新手小白非常友...
赞
踩
article
Android
SeekBar
设置
指示器
标签
,使用
PopupWindow
的方式...
按下时弹出popupwindow,进度条更新时刷新pw,松开时关闭pw;给
Android
原生的
SeekBar
控件添加一...
赞
踩
article
2021
林伟华
中学
高考
成绩查询,2021
年
汕尾
高考
状元
名单公布,
汕尾
高考
状元
学校资料及最高分
...
...
2019
年
高考
已经落下帷幕,
高考
放榜时刻就要到来,每
年
的
高考
状元
都会被各界高度关注,那么今
年
汕尾
高考
状元
花落谁家呢?
汕尾
...
赞
踩
article
原版
视频
提取
,
支持
视频
号
!
_
徐木多多
视频
解析
...
无论是什么平台什么
视频
,
随时随地
,
想下就下。国内各大主流媒体平台
视频
号
、B站、小红书’等等
,
基本上全都可以
解析
原版
视频
下...
赞
踩
article
快速入门
PyTorch
自然语言
处理
,实现
文本
分类
_
pytorch
文本
分类
...
PyTorch
为
处理
自然语言
处理
任务提供了一个直观且强大的平台,从创建简单的神经网络到
处理
词嵌入和
文本
分类
,该框架简化了...
赞
踩
article
MATLAB
绘图
之科技
论文
常用的
数据
可视化
_
matlab
绘图
线条颜色
论文
...
MATLAB
绘图
之科技
论文
常用的
数据
可视化
单柱状图代码: %%clc; clear all; close all;%%...
赞
踩
article
2024年
全栈
工程师
最新
面试题
汇总及
答案
_
全栈
工程师
面试题
...
27. **ACID属性**:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation...
赞
踩
article
C++
:查找
两个
目录中
文件
的
不同
文件
_
c++
对比
两个
文件
内容...
可以看到准确的找出了
两个
目录中
文件
的
不同
。
_
c++
对比
两个
文件
内容
c++
对比
两个
文件
内容 ...
赞
踩
article
Android
ntp
服务动态替换_
ntp
serverchanger.
apk
...
ntp
服务动态替换参考博文
Android
4.0 时间更新分析 NTPServer更改https://blog.csdn....
赞
踩
相关标签
elasticsearch
搜索引擎
java
大数据
微服务
webrtc
docker
容器
开源
学习
flutter
python
pandas
开发语言
操作系统
页面替换算法
fifo
stable diffusion
人工智能
AIGC
ai
自然语言处理
ai绘画