博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
c++ 引用方式传递数组
阅读量:5356 次
发布时间:2019-06-15

本文共 732 字,大约阅读时间需要 2 分钟。

值传递 (pass by value),指针传递(pass by pointer),当发生函数调用时,需要给形参分配存储单元、当传递是对象时,要调用拷贝构造函数。而且指针最后析构时,要处理内存释放问题。

引用传递(pass by refenrence),在内存中没有产生形参。效率大大提高!也不用处理指针的析构问题。

通过以上分析,我们设计程序时应该尽量使用引用,少利用指针。

 

 头文件声明

 

private:    Ui::MainWindow *ui;    void ReadArray(const char* array_test,int size);    template
void ReadArray2(T (&array_test)[N]);

 

定义

void MainWindow::ReadArray(const char *array_test,int size){    for(int i=0;i
void MainWindow::ReadArray2(T (&array_test)[N]){ for(int i=0;i

调用

char array_test[4]={
'a','b','c','d'}; qDebug()<<"sizeof"<

结果

sizeof 4ReadArray aReadArray bReadArray cReadArray dReadArray2 aReadArray2 bReadArray2 cReadArray2 d

 

转载于:https://www.cnblogs.com/ike_li/p/7339011.html

你可能感兴趣的文章
STM32 boot概述
查看>>
聚集索引和非聚集索引
查看>>
Python2.x与3.x版本区别
查看>>
sorting functions _ golang
查看>>
zentao(禅道)迁移
查看>>
dispatch_async 与 dispatch_get_global_queue (转)
查看>>
Django组件之认证系统
查看>>
Python的设计模式
查看>>
不借助第三方变量,将x,y两个变量的值互换。
查看>>
学习流行的JavaScript框架20120727-[jQuery,Dojo,MooTools]
查看>>
web开发过程中遇到的一些兼容问题
查看>>
SQL*Plus 系统变量之8 - CMDS[EP]
查看>>
《敏捷软件开发》第4章测试
查看>>
关于点击空白关闭弹窗的js写法推荐?
查看>>
结对项目 WordCount
查看>>
CKEditor与CKFinder的基本配置
查看>>
阅读任务-阅读提问
查看>>
memmove 和 memcpy的区别
查看>>
shell命令,从字符串中提取数字
查看>>
mongodb数据到MySQL数据库 的迁移步骤
查看>>