C++ 在函数内给变量起别名是什么意思?
程序编译后 cRef与count就区分不开了
c++独有的type& 命名方式
这里只是起到一个别名(alias)的作用
相当于一个内存地址上有两个不同的名字
也就是两个不同的变量名, 在使用效果上它们是完全等同的
没错, 编译后替换的当然都是同一内存地址。
alias 机制只是编译器的一种优化
作用是让程序员更简单的使用变量
像你举的这种例子很少见
这种形式经常在函数参数中出现
譬如 void function(type& T);形式
最大的好处就是可以直接改变变量的值
而在c时代中,则必须通过指针或者返回值来改变
如果我们来写一段变量交换值的函数代码
c中的:
void swap(int* a,int* b){
int t=*a;
*a=*b;
*b=t;
}
c++中的:
void swap(int& a,int& b){
int t=a;
a=b;
b=t;
}
总的来说,type&应用的挺多的,可以使代码简洁清晰不少.
c++独有的type& 命名方式
这里只是起到一个别名(alias)的作用
相当于一个内存地址上有两个不同的名字
也就是两个不同的变量名, 在使用效果上它们是完全等同的
没错, 编译后替换的当然都是同一内存地址。
alias 机制只是编译器的一种优化
作用是让程序员更简单的使用变量
像你举的这种例子很少见
这种形式经常在函数参数中出现
譬如 void function(type& T);形式
最大的好处就是可以直接改变变量的值
而在c时代中,则必须通过指针或者返回值来改变
如果我们来写一段变量交换值的函数代码
c中的:
void swap(int* a,int* b){
int t=*a;
*a=*b;
*b=t;
}
c++中的:
void swap(int& a,int& b){
int t=a;
a=b;
b=t;
}
总的来说,type&应用的挺多的,可以使代码简洁清晰不少.
佚名
2024-06-02 18:39:02
类似问题(10)
-
佚名2024-06-02 16:46:06
问c++中的函数前面加个LRESULT是什么意思啊?
答在微软vc提供的头文件中有定义:在winnt.h中typedef long LONG;在windef.h中typedef LONG LRESULT;所以LRES...
-
佚名2024-06-02 08:00:00
问C++中变量,函数等名字中能不能含有$字符
答好像不行标识符由字母(A-Z,a-z)、数字(0-9)、下划线“_”组成,并且首字符不能是数字,但可以是字母或者下划线。例如,正确的标识符:abc,a1,pro...
-
佚名2024-06-02 08:00:00
问在c函数中,最好使用全局变量。 为什么不对? 在c语言中,函数名的存储类别为外部。 为什么是对的?
答c语言是面向过程的程序语言,也就是尽可能的定义一些内部变量,来实现每一步的方法。所以,尽量少使用全局变量。在c语言中,函数是存储在堆中的,所以为外部
-
佚名2024-06-02 08:00:00
问.以下错误的描述是( )。 A. 不同的函数中可以使用相同的变量名 B. 形式参数是局部变量 C. 一个函数内部
答D复合语句中定义的变量的生命周期,只在该复合语句的控制范围内有效,超过这个范围就没有了简单的说,就是一对大括号中间定义的变量,在这对大括号外部就无效了。
-
佚名2024-06-02 08:00:00
问c语言中 变量名++ 就是这个变量加一的意思 但和直接写 变量名+1 有什么区别吗
答i++;i=i+1;前者简洁,运行速度更快。
-
佚名2024-06-02 08:00:00
问在主函数中声明的变量,在其他函数中不能使用么
答不大明白你的意思!!在函数中定义的变量,其作用域只是在该函数里,其他函数想使用这个变量,需要通过其他方式,不能直接使用变量名字来访问这个变量。作用域规定的是名字...
-
佚名2024-06-02 08:00:00
问函数外部定义了全局变量,函数内部定义了同名同类型的局部变量,函数内引用这个变量时是引用的哪个啊?
答变量的引用过程,类似于栈。就是说编译器从变量引用处以最近逻辑距离开始搜索,找到后则开始使用停止则停止搜索;如果查找失败则编译出错。举个例子来说,就是优先引用函数...
-
佚名2024-06-02 08:00:00
问c结构体中成员变量的表达方式 .成员变量名。 是什么意思
答这叫Designated Initializers,C99新加的机制。
-
佚名2024-06-02 08:00:00
问C语言主函数的函数名是什么意思?
答1,先不用理解太多,只要知道main函数是程序入口地址,也就是说每次写程序都得有一个main(),然后多多练习程序,有些概念时间久了自然会理解。多练习就好,只是...
-
佚名2024-06-02 08:00:00
问c++中函数名字前有&是什么意思?
答&的意思是返回引用类型。格式:类型标识符 &函数名(形参列表及类型说明){ //函数体}。在内存中不产生被返回值的副本;(注意:正是因为这点原因...
风水
起名
网名
- 1 流氓霸气的网名
- 2 旭日东升的网名怎么样
- 3 带衬衣的网名
- 4 海枝字取网名
- 5 带晨晨这两个字滴网名
- 6 个性快乐网名
- 7 阿西吧情侣网名
- 8 通知群人员改昵称
- 9 最丧QQ昵称
- 10 qq群 昵称
说说
- 1 很伤感的个性签名
- 2 搞笑霸气的女生个性签名
- 3 好看的个性字符繁体签名
- 4 qq个性签名六月份
- 5 个性签名头像表情包网名软件下载
- 6 有腋臭说说
- 7 七夕送说说
- 8 2016对朋友的祝福说说
- 9 关于损友的英语说说
- 10 嫁了人以后的说说