首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

形参用int好还是const int好解决方法

2012-04-08 
形参用int好还是const int好我习惯性地,如果不修改的话,形参就写const int,如果是类类型的话就写const T&。

形参用int好还是const int好
我习惯性地,如果不修改的话,形参就写const int,如果是类类型的话就写const T&。今天同学在看C++ Primer的时候说,const只有当传的是指针或者引用的时候才有影响,这个我就困惑了?这句话应该怎么理解?
另外应该传int还是const int?我好像在cplusplus.com上面看到许多参数都是int而不是const int(虽然基本都是在C Library中看到)
BTW,为什么类类型的话喜欢写const T&??


以前都是习惯,没怎么认真想过,希望前辈们指导一下

[解决办法]
const int a;
a 在函数内是不可以改变赋值的!你说有木有影响!?
[解决办法]
const int a 在函数内无法改变a的值 在一些情况下比较安全
[解决办法]
主要是形参类型来决定的,分别是值类型,非常引用类型和常引用类型
考虑的是要不要拷贝和要不要修改
值类型要拷贝,后面两个不需要拷贝
非常引用类型可以改实参,值类型和常引用不可以修改实参
[解决办法]
如果你传过去的参数不想被修改,那么就用const,如果在被调用函数中修改编译的时候会给出警告。如果在被调用函数中需要修改那么就不可以用const了。
[解决办法]
const只有当传的是指针或者引用的时候才有影响//这句话说的是重载的时候吧···不然的话,函数会被当成重复定义的···

例如:
void foo(int number);
void foo(const int number);
[解决办法]
不要纠结各种常量了,这个世界上唯一不变的就是变化。用API WriteProcessMemory还能修改正运行的其它进程的内存里面的所谓常量呢!

[解决办法]
int和const int 一般情况下没啥优劣之分,值传递而已,想改就改不想改拉倒,也不影响外部的变量值
“const只有当传的是指针或者引用的时候才有影响”这种情况 如果改动参数,会影响外部变量的值,所以是有影响的,加不加const全看你业务需求要不要改动入参值并返回了
[解决办法]

C/C++ code
void Fun(int a, int b, int c){    c = a + b;}int main(){    int m = 1, n = 2;    int x = 100;    Fun(m, n, x);}
[解决办法]
对于int来说,const int对于函数常说来说没有什么意义,因为这是值传递,对参数的修改不会对影响到原来的值。但是对于指针与引用就不一样了。比如&int 与const &int。对参数的修改就对原来的值进行修改。我想“const只有当传的是指针或者引用的时候才有影响”就是这个意思。
[解决办法]
这是一种良好的编程习惯

const int a;
表示不会通过a来修改a的值。
[解决办法]
对于int来说,const int对于函数参数来说没有什么意义,因为这是值传递,对参数的修改不会对影响到原来的值。但是对于指针与引用就不一样了。比如int & 与const int &。对参数的修改就对原来的值进行修改。我想“const只有当传的是指针或者引用的时候才有影响”就是这个意思
[解决办法]
好处就是给看代码的人和编译器提示
[解决办法]
探讨
我习惯性地,如果不修改的话,形参就写const int,如果是类类型的话就写const T&。今天同学在看C++ Primer的时候说,const只有当传的是指针或者引用的时候才有影响,这个我就困惑了?这句话应该怎么理解?
另外应该传int还是const int?我好像在cplusplus.com上面看到许多参数都是int而不是const int(虽然基本都是在C Library中看到)……

[解决办法]
又不是引用,
con不const无所谓

热点排行