在C++中将shared_ptr的向量转换为原始指针的向量
Convert vector of shared_ptr into the vector of raw pointers in C++
我想知道除了通过循环之外,是否有其他方法可以将共享指针的矢量转换为原始指针的矢量:
\vecShared - initial vector of shared pointers
std::vector< double* > vecRaw;
for(unsigned int i=0; i<vecShared .size(); ++i)
vecRaw.push_back(vecShared[i].get());
如果还有其他方法,那么使用这些方法有好处吗?
当然是
vecRaw.reserve(vecShared.size());
std::transform(vecShared.cbegin(), vecShared.cend(), std::back_inserter(vecRaw),
[](auto& ptr) { return ptr.get(); });
相关文章:
- 将CHW格式的浮点向量转换为cv::Mat
- 将元组的向量转换/构造为堆
- 将编译时常量向量转换为堆分配版本
- 在 Cython 中将C++向量转换为 numpy 数组,而无需复制
- 在<uint8_t> <char> c++ 中将常量向量转换为常量向量
- C++ 将地址保存为字符串的向量转换为新的向量
- 如何使用 STL 算法将整数向量转换为字符串向量?
- 在 c++ 中将集合转换为向量和向量转换为字符串时出现运行时异常
- 如何使用istream_iterator将无符号字符向量转换为字符串?
- 如何在 c++ 中将向量转换为<string>常量字符* const*?
- 将字符向量转换为单个字符串
- <int> 使用 fmt 库将向量转换为字符串
- 将 c++ 向量转换为字符 ** 而不会泄漏内存
- 在C++中将字符向量转换为字符串向量
- 避免从单一元素向量转换为基元类型
- 无法从向量<T>转换为 T
- 将浮点数向量转换为十六进制/二进制字符串
- 虚拟地将结构向量转换为结构成员的向量
- 将整数向量转换为字节数组向量,然后调用每个字节数组
- 如何从向量转换为<char>数字整数