6.2.4
2016-12-25 21:46
211 查看
6.21
6.22
6.23
@pezy Mooophy
6.24
const int ia[10],传递的是一个指针,并不是数组(或者说数组的本质就是指针),我们应该使用reference来告诉它,我们传递的是 ”数组”
改正:
但是我发现如果我用的下面这样的也行:
#include <iostream> using std::cout; int larger_one(const int i, const int *p) { return (i > *p) ? i : *p; } int main() { int i = 6; cout << larger_one(7, &i); return 0; }
6.22
void swap(int*& lft, int*& rht) { auto tmp = lft; lft = rht; rht = tmp; }
6.23
@pezy Mooophy
#include <iostream> using std::cout; using std::endl; using std::begin; using std::end; void print(const int *pi) { if(pi) cout << *pi << endl; } void print(const char *p) { if (p) while (*p) cout << *p++; cout << endl; } void print(const int *beg, const int *end) { while (beg != end) cout << *beg++ << endl; } void print(const int ia[], size_t size) { for (size_t i = 0; i != size; ++i) { cout << ia[i] << endl; } } void print(int (&arr)[2]) { for (auto i : arr) cout << i << endl; } int main() { int i = 0, j[2] = { 0, 1 }; char ch[5] = "pezy"; print(ch); print(begin(j), end(j)); print(&i); print(j, end(j)-begin(j)); print(j); return 0; }
6.24
const int ia[10],传递的是一个指针,并不是数组(或者说数组的本质就是指针),我们应该使用reference来告诉它,我们传递的是 ”数组”
改正:
#include<iostream> void print(const int (&ia)[10]) { for (size_t i = 0; i != 10; ++i) std::cout << ia[i] << std::endl; } int main() { int ia[10]={0,1,2,3,4,5,6,7,8,9}; print(ia); }
但是我发现如果我用的下面这样的也行:
#include<iostream> void print(const int ia[10]) //const int (&ia)[10] /*但是可能会出现问题,因为这个本质上是声明传入一个指针(const int*),也就是说你传入一个不指向数组的指针,也会被编译器检查通过,而你原本想传入的是一个数组 so array types cannot be function parameter or return types.*/ { for (size_t i = 0; i != 10; ++i) std::cout << ia[i] << std::endl; } int main() { int ia[10]={0,1,2,3,4,5,6,7,8,9}; print(ia); }
相关文章推荐
- 纯Css实现三角形
- 安装Windows 和linux双系统失败导致Windows无法引导的解决方法
- 解释器模式
- 20145302张薇 《信息安全系统设计基础》课程总结
- 使用 Object.create实现js 继承
- Best Part
- shell软件工具设计的原则_转
- Eclipse导出SVN项目的时候,不再提示输入用户名,密码问题
- Oracle数据库SQL语言实战培训教程(全面、详细、案例、精讲)套餐
- HDU 程序设计竞赛题解(2016‘12)
- python面向对象二
- 小组作业(第五组)
- #173. 蚯蚓健身操
- Ubuntu Server配置apt-get源的方法
- NOI2014-魔法森林(LCT)
- 十二月英语总结--充满热情
- spring boot cloud热部署插件简单配置
- 去掉不用的工作空间
- 20145317《信息安全系统设计基础》课程总结
- 28. Implement strStr()*