vector指针传入函数的问题

点滴成长路 点滴成长路 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
//vector指针以参数传入函数无效的问题:
#include <iostream>
#include <vector>
#include <string>
using namespace std;

void test(vector<string> *vec)
{
vec=new vector<string>;
string str="ajfkd";
for (int i=0;i<3;i++)
vec->push_back(str);
vec;
vec;
//函数内部的vec一切正常


}

int main()
{
vector<string> * vec;
test(vec);
vec;
//函数外的指针未知
delete vec;
return 0;

}


...全文

相关推荐

C++ vector传参方式[源码]

本文详细介绍了C++中vector容器作为函数参数的三种传递方式:传值、传引用和传指针。通过二维vector的示例代码,展示了每种方式的调用形式及其内存地址变化。传值方式会调用拷贝构造函数,无法修改原容器;传引用和传指针则可以直接修改原容器内容。文章还分析了不同传参方式的适用场景,如修改容器长度时建议使用引用传递,而仅需访问容器内容时可采用迭代器传递。最后总结了各种传参方式的优缺点,帮助开发者根据实际需求选择合适的传参方法。

奥利奥Stack

dll中多线程处理vector

在dll中开启多线程并处理vector(互斥),平台为vs2010,x64可以直接调试,可以传入函数指针,并且显示处理进度,可以根据需要修改。

秋月的私语

C++ 让函数返回数组的方法

这个问题属于非常初级的问题,但是对于初学不知道的人可能会比较头疼。C++ 中函数是不能直接返回一个数组的,但是数组其实就是指针,所以可以让函数返回指针来实现。比如一个矩阵相乘的函数,很容易地我们就写成: #include using namespace std; float* MultMatrix(float A[4], float B[4]) { float M[4]; M[0] = A[0]*B[0] + A[1]*B[2]; M[1] = A[0]*B[1] + A[1]*B[3]; M[2] = A[2]*B[0] + A[3]*B[2];

weixin_38607554

详解C++中的vector容器及用迭代器访问vector的方法

使用迭代器iterator可以更方便地解引用和访问成员,当然也包括vector中的元素,本文就来详解C++中的vector容器及用迭代器访问vector的方法,需要的朋友可以参考下

weixin_38616330

C++ vector与指针[可运行源码]

本文详细介绍了C++中vector与指针的交互方式,包括指向vector的指针、指向vector的指针数组以及vector内是指针元素的情况。文章首先讲解了如何通过指针指向栈上和堆上的vector,并分析了局部变量自动释放与主动释放的区别。接着,文章探讨了指向vector的指针数组的使用方法,包括栈上和堆上的不同处理方式。最后,文章简要介绍了vector内存储指针元素的情况。通过多个代码示例,文章清晰地展示了各种情况下的实现细节和注意事项,为C++开发者提供了实用的参考。

x1y2z
评论 10
收藏 已收藏
分享
返回顶部
点滴成长路
C++ 语言 65,214 成员 250,514 内容