C++学习之0415 对函数细节的学习

再多的天赋也战胜不了对细节的偏执

函数和变量定义消耗了内存,而声明却没有。

const int y;// 错误
如果一个常量没有值的话,它何以为常量呢?
作用域的主要作用是保持名字的局部性,不影响声明于其他地方的名字。

一个名字的作用域越大,名字就应该越长、越有描述性:将全局变量命名为x、y和f
是灾难性的。

C++还提供了一种语言特性:名字空间,专门用于表达作用域。

在函数声明和定义中,你可以为参数命名也可以不命名,完全取决于你的徐需求。
int my_find(vector<string>, string, int);

int my_find(vector<string>vs, string s, int hint);
由于不再使用,所以可以不为其命名:
int my_find(vector<string>vs, string s, int);

如果函数声明中指定要返回值,这函数体内必须通过teturn返回一个值。

传常量引用,其实就是拷贝初始化参数。
需要拷贝多有值
void print(vector<double>v)

void print(vector<double>&v)

引用是这样一种语法机制,它允许用户为一个对象声明一个新的名字。
int i = 7;
int&r = i;  //r是i的引用
r = 9;  // i变为9
i = 10;

如果我们只需要这个元素的值,那么可以声明下面这个变量
double val = v[f(x)][f(y)]; //val 是v[f(x)][f(y)]的值

如果我们既要从v[f(x)][f(y)]读取值,又要向他写入值,这时:
double& val = v[f(x)][f(y)]; //val 是v[f(x)][f(y)]的引用
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值