c++ 将vector作为参数传入函数
1. 以引用或指针形式传入:
cpp void foo(std::vector<int> &vec); // 以引用形式传入 void bar(std::vector<int> *ptr); // 以指针形式传入
这种方式不会复制vec,函数内操作的是vec本身。可以改变vec。例如:
cpp std::vector<int> vec = {1, 2, 3}; void increment(std::vector<int> &v) { for (int &i : v) i++; } int main() { increment(vec); // vec is now {2, 3, 4} }
2. 以值形式传入:
cpp void baz(std::vector<int> vec);
这种方式会复制一份vec,函数内操作的是复制品。不会改变外部的vec。例如:
cpp std::vector<int> vec = {1, 2, 3}; void double_vec(std::vector<int> v) { v.insert(v.end(), v.begin(), v.end()); } int main() { double_vec(vec); // vec is still {1, 2, 3} }
分类:
PTA甲级
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现