2021-05-27.28.30.31

6 篇文章 0 订阅
3 篇文章 0 订阅
vector<int> a(7,3);//7个3

vector v={1,1,2,3,3,1};
for(auto &r:v)//范围变量必须是引用类型,这样才能对元素执行写操作
//对于v中的每一个元素
r*=2;
不能通过范围for语句增加vector对象(或其他容器)的元素
在范围for语句中 预存了end()的值 一旦在序列中添加(删除)元素 end函数的值就可能无效
static 局部静态变量
函数声明不需函数体用分号代替 声明中形参名字非必需
p188指针形参p199blabla
引用类型的初始值必须是一个对象 类型且必须与其引用对象一致
除了2个
其一 在初始化常量时可以 eg:允许将一个const int 绑定到一个普通int对象上

5.30

传递数组参数
使用标准库规范
传递数组首元素和尾后元素的指针void print(const int *beg ,const int *end)
只有当函数确实要改变元素值的时候 才把形参定义成指向非常量的指针

数组引用形参
void print(int (&arr)[10])
&arr 两端的括号必不可少

多维数组
void print(int (*matrix)[10],int rowSize)//含有10个整数的数组的指针
括号不能少哦

main函数参数:使用实参时 可选的实参从[1]开始 [0]是文件名

initializer_list
initializer_list ls;初始化 .size()begin end和vector类似
和vector不一样的是 initializer_list对象中的元素永远是常量值 我们无法改变对象中元素的值

5.31

调用一个返回引用的函数得到左值 其他返回类型得到右值
get_val(s,0)=‘a’;
如果返回值是常量引用 我们不能给调用的结果赋值

using arr=int [10];
typedef int arr[10];

int arr[10];//arr是一个含有10个整数的数组
int *p1[10];//p1是一个含有10指针的数组
int (*p2)[10];//p2是一个指针 它指向含有10个整数的数组

int (*func(int i))[10]
auto func(int i)->int(*)[10];
decltype(odd) *arrPtr(int i);

Record lookup(const Account&)//省略了形参名字

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值