返回vector指针案例
void prog1_static(void)
{
int pos = 9; // elem will hold the element's value
vector<int> *elem;
elem = fibon_seq2(pos);
cout << elem->size() << endl; for (int in = 0; in < elem->size(); in++)
{
cout << elem[0][in] <<" ";
}
cout << endl; pos = 18;
elem = fibon_seq2(pos);
cout << elem->size() << endl; for (int in = 0; in < elem->size(); in++)
{
cout << elem[0][in] <<" "; //error
}
cout << endl;
}
下面的函数返回elems的地址。可以返回静态对象的地址
通过去读取vector的返回值可以实现减少计算工作量的方法。
cout << elem[0][in] <<" ";
这个用法一定要注意,试了很就才发现。
elem是一个向量指针,这个指针指向某一个向量的,
因此类似于c语言中一个指针指向二位数组。
vector<int> *fibon_seq2( int size )
{
const int max_size = 1024;
static vector< int > elems; if ( size <= 0 || size > max_size )
{
cerr << "fibon_seq(): oops: invalid size: "
<< size << " -- can锟絫 fulfill request.\n";
return 0;
} // if size is equal to or greater than elems.size(),
// no calculations are necessary ...
for ( int ix = elems.size(); ix < size; ++ix )
{
if ( ix == 0 || ix == 1 )
{
elems.push_back( 1 );
}
else
{
elems.push_back( elems[ix - 1] + elems[ix - 2] );
}
}
return &elems;
}
返回vector指针案例的更多相关文章
- 返回vector指针
#include<iostream> #include <vector> using namespace std; vector<int> *MyFind() { ...
- C++函数返回局部指针变量
遇到过好几次关于函数返回指针变量问题,有时候是可以的,有时候是不可以的,然后就混乱了.今天研究了下,结果发现原来和内存分配有关. 用下面的例子分析下吧: char * test() { char a[ ...
- C++ 函数返回数组指针的问题
提醒一下:int *func(){int a[10] = {5};return a;}是非法的,因为 a 是局部变量,被申请在系统栈中,局部变量在函数返回后会被销毁,于是你返回的指针指向的是一段已经被 ...
- C++ —— 返回数组指针的函数 和 返回指向函数的指针的函数
返回数组指针的函数 基础知识:数组不能被拷贝,函数不能返回数组,只能返回数组的指针或者引用. 定义一个 返回数组指针的函数 的方法,以 一个接收参数为 含有10个整型元素的数组的引用 和 返回一个含 ...
- C# 通过 参数返回 C++ 指针
参数返回 C++ 指针 C++ 代码 Extern_C BASECORELIBRARY_API char * GetFileByteArray(wchar_t * BinfilePath, wchar ...
- [笔记]C++声明返回数组指针的函数
数组指针的声明:type (*name)[size]; 由于数组不能拷贝,所以函数不能返回数组.但是函数可以返回指针和引用,所以函数可以返回数组指针或引用. 和数组指针的声明类似: type (*fu ...
- 栈 堆 stack heap 堆内存 栈内存 内存分配中的堆和栈 掌握堆内存的权柄就是返回的指针 栈是面向线程的而堆是面向进程的。 new/delete and malloc/ free 指针与内存模型
小结: 1.栈内存 为什么快? Due to this nature, the process of storing and retrieving data from the stack is ver ...
- [C++学习笔记14]动态创建对象(定义静态方法实现在map查找具体类名对应的创建函数,并返回函数指针,map真是一个万能类)good
[C++学习笔记14]动态创建对象 C#/Java中的反射机制 动态获取类型信息(方法与属性) 动态创建对象 动态调用对象的方法 动态操作对象的属性 前提:需要给每个类添加元数据 动态创建对象 实 ...
- C返回函数指针的函数
如下函数 char (*retCharWithInt(char, char))(int); 申明了函数指针retCharWithInt,该指针指向一个形参是(char,char),返回值是char(* ...
随机推荐
- 简单的搭载Spring cloud框架
大家不懂的可以在评论区给我留言
- [转帖]AARRR已是过去式,而RARRA才是更好的增长黑客模型
AARRR已是过去式,而RARRA才是更好的增长黑客模型 管理.该方法论已成为了企业家创业的增长利器.但现在看来,AARRR已是过去式. http://www.woshipm.com/operate/ ...
- 小菜鸟之HTML第一课
web项目 前端网页web(人体结构) HTML负责前端网页结构 Css负责网页样式 css引入 内联样式引入 内部样式 外部样式 三种基本引入器 id选择器 类选择器 标签选择器 <!DOCT ...
- c++学习笔记之类模板
C++ 除了支持函数模板,还支持类模板(Class Template).函数模板中定义的类型参数可以用在函数声明和函数定义中,类模板中定义的类型参数可以用在类声明和类实现中.类模板的目的同样是将数据的 ...
- with上下文管理 python魔法方法
with语法在Python里很常见, 主要的利好是使用代码更简洁. 常见的使用场景有: 1. 资源对象的获取与释放. 使用with可以简化try...finally ... 2. 在不修改函数代码的前 ...
- Jmeter之Plugin插件,服务器监控
Jmeter Plugins插件 我在测试工作中:主要使用了监听器中的图表报告和监控服务器CPU,内存(这篇博文就是对插件的安装,以及jmeter怎么监控服务器CPU~) 1.下载安装Plugins插 ...
- 使用tqdm实现下载文件进度条
1.获取下载链接 下载链接为:http://fastsoft.onlinedown.net/down/Fcloudmusicsetup2.5.5.197764.exe 2.使用tqdm实现 2.1.从 ...
- MySQL 数据库的备份和恢复
1.DOS命令 mysqldump /*DOS命令生成文本文件*/ mysqldump -u username -h host -ppassword dbname [tbanme1,tbname2,. ...
- 开发过程遇到的css样式问题记录
一.移动端 1.部分安卓机圆角border-radius失效,显示为方形状? background-clip: padding-box; 2.部分安卓机字体图标出现锯齿? 使用iconfont图标 ...
- 修改NPM默认全局安装路径
场景: 最近在新电脑上鼓捣完环境后,打算切换下源,结果使用全局安装的nrm时提示找不到命令,之前都是这么用现在怎么不行了呢? 排查过程: 于是各种折腾,发现- g安装的插件目录在C盘中的某个路径中,后 ...