函数(C++ Primer读书笔记)
C++ Primer 第五版课后题
练习6.32 :下面的函数合法吗?如果合法,说明其功能;如果不合法,修改其中的错误并解释原因。
- #include <iostream>
- using namespace std;
- int &get(int *arry, int index)
- {
- return arry[index];
- }
- int main()
- {
- int ia[10];
- for (int i = 0; i != 10; ++i)
- get(ia, i) = i;
- return 0;
- }
合法。给ia数组中的每个元素赋值。返回的是引用类型,得到的是左值,所以可以被赋值。
练习6.33 :编写一个递归函数,输出vector对象的内容。
- #include <iostream>
- #include <vector>
- using namespace std;
- typedef vector<int>::iterator vec_ip;
- void re_print_vector(vector<int> &vec, vec_ip id)
- {
- if (id != vec.end()) {
- cout << *id << endl;
- re_print_vector(vec, ++id);
- }
- }
- int main()
- {
- vector<int> vec;
- for (int i = 1; i <= 10; ++i)
- vec.push_back(i);
- re_print_vector(vec, vec.begin());
- return 0;
- }
//命名真是太困难了。
开始我的re_print_vector声明的是(vector<int> vec, vec_ip id),并没有引用,于是死循环= =,后来发现传递的是形参,那么形参的存储位置和实参一定不相同啊= =,id用永远不可能等于形参vec.end()。
我为什么想到的是用迭代器呢?直接用数字下标岂不是简单的多[汗]。
函数(C++ Primer读书笔记)的更多相关文章
- Key Technologies Primer 读书笔记,翻译 --- Struct 学习 1
原文链接:https://struts.apache.org/primer.html 本来想写成读书笔记的,结果还是变成翻译,谨作记录,学习. 1.HTML -- 见我前面文章 2.Interne ...
- C++ Primer 读书笔记 第2章 变量和基本类型
C++ Primer 第二章 变量和基本类型 2.1 基本内置类型 C++定义了一组表示整数.浮点数.单个字符和布尔值的算术类型(arithmetic type),此外还定义了Void类型. 算术类型 ...
- c++ primer读书笔记之c++11(三)
1 =default构造函数限定符 c++11针对构造函数提供了=default限定符,可以用于显式指定编译器自动生成特定的构造函数.析构或赋值运算函数.参考代码如下: class CtorDftTy ...
- c++ primer读书笔记之c++11(二)
1 新的STL模板类型,std::initializer_list<T> c++11添加了initializer_list模板类型,用于提供参数是同类型情况的可变长度的参数传递机制,头文件 ...
- c++ primer读书笔记之c++11(一)
1 新的关键词nullptr c++11引入新的关键词nullptr,用于表示空指针,用于替换之前c提供的NULL(最初NULL是定义在stdlib中的宏定义,通常是0). 2 新的别名定义机制 al ...
- c++ primer 读书笔记
顺序容器:为程序提供控制元素存储和访问顺序的能力,这种顺序与元素加入到容器时的位置相对应,而与元素值无关. 另外还有根据关键字的值来存储元素的容器:有序.无序关联容器. 另外STL还有三种容器适配器, ...
- 关于C++与Java中虚函数问题的读书笔记
之前一直用C++编程,对虚函数还是一些较为肤浅的理解.可近期由于某些原因搞了下Java,发现有些知识点不熟,于是站在先驱巨人的肩上谈谈C++与Java中虚函数问题. Java中的虚函数 以下是段别人的 ...
- string,vector和array(C++ Primer读书笔记)
string string是标准库类型,使用时需要包涵头文件,使用using声明. include <string> using std::string; 1.定义和初始化 string ...
- C++ Primer 练习7.32(C++ Primer读书笔记)
第七章 类 练习7.32 定义你自己的Screen和Window_mgr,其中clear是Window_mgr的成员,是Screen的友元. 由于Window_mgr中含有Screen对象,所以在W ...
随机推荐
- POJ 3254 压缩状态DP
题意:一个矩形网格,可以填0或1, 但有些位置什么数都不能填,要求相邻两个不同时为1,有多少种填法.矩形大小最大 12*12. 压缩状态DP大多有一个可行的state的范围,先求出这个state范围, ...
- windows8.1专业中文版一个可用的密钥分享
分享一个windows8.1专业中文版一个可用的密钥,亲测可用,联网输入密钥激活即可. PKHMN-TWQ6R-XDTH7-P4WW4-YR9T7
- A Neural Network in 11 lines of Python
A Neural Network in 11 lines of Python A bare bones neural network implementation to describe the in ...
- Unity C#写的A*寻路
原地址:http://www.unity蛮牛.com/blog-13769-1078.html 首先看了这篇翻译外国人的文章http://www.raywenderlich.com/zh-hans/2 ...
- 聊聊 Statsd 和 Collectd 那点事!
StatsD 是由 Etsy 开发并发布的汇总和总结应用指标的一个简单的守护进程,近些年来发展迅速,已经变成了一个用于收集应用性能指标的统一的协议. 关于 Statsd 的使用已经有很多文章介绍过,所 ...
- Mpeg-2的同步及时间恢复--STC,PCR,DTS,PTS
http://blog.csdn.net/hice1226/article/details/6717354 Mpeg-2的同步及时间恢复--STC,PCR,DTS,PTS 摘要:Mpeg-2同步及时间 ...
- Altium自定义的快捷键设置
我想要在AD09里面设置自定义的快捷键,例如将布线设置成键盘上的字母E键,如何设置求大神指点!感激不尽!!! 为什么快捷键都要发一篇文章呢?主要是AD换层的快捷键是*号,与其他快捷键离的很远,一个AD ...
- VIM 及其插件使用快捷键汇总
我的博客:www.while0.com vim搜索取消高亮 :nohl
- js中replace用法
js中replace的用法 replace方法的语法是:stringObj.replace(rgExp, replaceText) 其中stringObj是字符串(string),reExp可以是正则 ...
- BZOJ1895: Pku3580 supermemo
1895: Pku3580 supermemo Time Limit: 15 Sec Memory Limit: 64 MBSubmit: 77 Solved: 47[Submit][Status ...