搜索
查看
编辑修改
首页
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
双向循环链表的创建,删除,插入,摧毁等操作(超详细)…… 〃•ω‹〃 (⌯꒪꒫꒪)੭_双向循环链表的插入和删除操作
2
studio one正版和盗版有什么区别?2024年studio one6全新解析_studioone6正版和盗版区别
3
ue4云渲染WebSocket通信过程_ue4 webrtc
4
国内百模谁第一?清华14大LLM最新评测报告出炉,GLM-4、文心4.0站在第一梯队_llm模型评测
5
ubuntu 18 虚拟机安装(3)安装mysql
6
探索数据赋能的未来趋势:嵌入式BI技术的挑战与突破
7
C语言 输入输出使用
8
Python爬取实战(一):爬取网络小说_python爬取网络小说
9
反编译dex文件_dex反编译
10
py-charm延长试用期限_pycharm到期怎么延长
当前位置:
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
本文内容由网友自发贡献,转载请注明出处:
https://www.wpsshop.cn/w/寸_铁/article/detail/798323
推荐阅读
article
elasticsearc
使用指南之ES管道
聚合
(
Pipeline
Aggregation
)_
es
p...
本文详细介绍了Elasticsearch中的各种管道
聚合
,如date_histogram、sum、avg_bucket、...
赞
踩
article
人工智能
与
健康
养生
:
个性化
健康
管理
,更好的生活质量...
1.背景介绍随着人类社会的发展,人们对
健康
养生
的需求越来越高。随着科技的不断发展,
人工智能
技术在各个领域都取得了显著的进...
赞
踩
article
机器
学习
算法
基础——
分类
模型
(一)_
1.2
了解
分类
模型
的
原理
和基本用法;...
解读: Logistic 回归
模型
、朴素贝叶斯
模型
、贝叶斯网络_
1.2
了解
分类
模型
的
原理
和基本用法;
1.2
了解
分类
模型
的...
赞
踩
article
AIGC
必备
知识
点:你不可不知
的
CNN
(
卷积
神经网络
)-
知识
全解析!_那么
学习
aigc
有哪些内容...
本文详细解读了
卷积
神经网络
(
CNN
)
的
工作原理、架构,包括
卷积
层、池化层和完全连接层
的
作用,以及其在计算机视觉中
的
广泛应...
赞
踩
article
springboot
kafka
实现
延时
队列
_
kafka
延迟
队列
(1)_
kafka
支持
延时
队列
吗...
3.1 优点:①RabbitMQ的
延迟
队列
是通过RabbitMQ的插件
实现
的,易于部署和使用。②RabbitMQ的
延迟
队...
赞
踩
article
在windows上安装
onlyoffice
-
document
server
.exefor Windo...
是一个在线办公套件,包括文本,电子表格和演示文稿的查看器和编辑器,完全兼容Office Open XML格式:.docx...
赞
踩
article
Redis
五种
数据结构
及其常用
使用
场景
...
Redis
中的字符串是二进制安全的,可以存储任何类型的数据,包括图片、序列化的对象等。字符串类型提供了丰富的操作命令,...
赞
踩
article
微信
数据备份
到
手机
提示不
在
同一
网络
_
微信
迁移老说不
在
同一
网络
...
在
手机
更换或者刷机之后,将电脑的数据恢复到
手机
上,
微信
提供了方便的方式,但是也是存
在
一些细小的问题。2.点击电脑
微信
设置...
赞
踩
article
数据结构
第
14
节
加权
图...
( V ) 是顶点的集合。( E ) 是边的集合,每条边连接 ( V ) 中的一对顶点。( W ) 是一个函数,将每条边...
赞
踩
article
Python
的
共享内存
、
共享内存
队列_
python
共享内存
...
python
s通过
共享内存
、
共享内存
队列进行图像传输、提升性能
的
示例_
python
共享内存
python
共享内存
...
赞
踩
article
超强
!
2024年
AI
工具
排行榜
:最全
工具
汇总!
_
ai
工具
集...
如今,技术正在快速崛起,
AI
助手、、机器翻译等
工具
深深渗透到我们的工作和生活中。这些智能
工具
极大地提高了我们的工作效率,...
赞
踩
article
【云原生】
kubernetes
最新
版本
1.30
.2,
集群
搭建
部署全方位攻略_
kubernetes
1...
目前k8s最新
版本
1.30
.2
集群
搭建
部署,保姆级教程,一文搞定
搭建
过程中的所有疑难杂症_
kubernetes
1.30
...
赞
踩
article
操作系统
页面
置换
算法
之
先进先出
(
FIFO
)
页面
置换
算法
(C语言实现)_
c
语言,
先进先出
...
先进先出
(
FIFO
)
页面
置换
算法
【注】本代码数据及思路方法参考自《计算机
操作系统
(第四版)》汤小丹等 编著的教材。#in...
赞
踩
article
『SD』零基础快速搭建
Stable
Diffusion
(
Mac
版)_
sd
-v1-
5
.
ckpt
放在哪个...
这次就讲讲在
Mac
上搭建
Stable
Diffusion
WebUI的方法。HomebrewPython要想用生成图片,...
赞
踩
article
【VUE】 深入理解
Vue
动态
路由
:简介、
实际
开发
场景
与代码
示例
...
在传统的
路由
配置中,我们需要在初始化
Vue
实例时定义所有的
路由
。但在
实际
应用中,特别是涉及权限管理、模块懒加载等
场景
...
赞
踩
article
学历提升沧州国开电大汉
语言文学
(师范方向)试题及
答案
,
分享
几个实用搜题
和
学习
工具
#
知识
分享
#经验分...
以下软件拥有强大的搜索功能
,
能够快速找到与题目相关的资料
和
答案
,
让大学生们更容易理解
和
掌握
知识
点。学历提升沧州国开电大汉...
赞
踩
article
几度
互联网站
群
管理系统
全媒体
解决方案
...
通过该系统,高校可以建立统一部署、统一标准、统一规范的网站集
群
,实现资源互通、资源共享、资源挖掘和资源利用,提高网站的应...
赞
踩
article
Notion
的
开源
替代品
:
AppFlowy
助你掌控
数据
隐私 | 开源日报 No.177_noti...
本文介绍了开源项目
AppFlowy
-IO,作为
Notion
的
替代方案,强调
数据
隐私和本地体验。同时,对比了微软
的
人工智能...
赞
踩
article
【DL】第 5 章
:
标准化
流
动
模型
_
glow
标准化
流
模型
...
在本章中,您将
:
了解
标准化
流
动
模型
如何利用变量方程的变化了解 Jacobian 如何在我们计算显式密度函数的能力中发挥重...
赞
踩
article
拒绝低速网盘
下载
!
AI
绘画
Stable
DIffusion
最简单
、
快速的
安装
教程【汉化+免费】_st...
感兴趣的小伙伴,赠送全套
AI
GC学习资料,包含
AI
绘画
、
AI
人工智能等前沿科技教程和软件工具,具体看这里。
AI
GC技术的...
赞
踩
相关标签
elasticsearch
sql
大数据
人工智能
生活
机器学习
算法
分类
AIGC
cnn
langchain
深度学习
chatgpt
神经网络
spring boot
kafka
后端
数据库
服务器
postgresql
rabbitmq
erlang
redis
数据结构
智能手机