C++ Vector的使用疑惑

Dirac的喵 2017-08-17 11:22:57
template <typename T>
class StereoSGM {
private:
public:
// SGM
StereoSGM(int i_width, int i_height, int i_maxDisp, StereoSGMParams_t i_params);
~StereoSGM();
void process(uint16* dsi, T* img, float32* dispLeftImg, float32* dispRightImg);
};

template <typename T>
class StripedStereoSGM {
std::vector<StereoSGM<T>* > m_sgmVector;
std::vector<float32*> m_stripeDispImgVector;
std::vector<float32*> m_stripeDispImgRightVector;
public:
StripedStereoSGM(int i_width, int i_height, int i_maxDisp, int numStrips, const int border, StereoSGMParams_t i_params)
{
if (numStrips <= 1) {
m_sgmVector.push_back(new StereoSGM<T>(m_width, m_height, m_maxDisp, i_params));
}



想请教 m_sgmVector.push_back(new StereoSGM<T>(m_width, m_height, m_maxDisp, i_params));
这句话的作用是什么,完成了一个什么功能?
这地方很不理解。谢谢
...全文
292 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
KaiZeek 2017-08-18
  • 打赏
  • 举报
回复
引用 4 楼 wyyy2088511 的回复:
创建了一个对象,然后把该对象放到vector中
应该是创建了一个StereoSGM<T>类型的对象,并把指向该对象的指针放到vector中
chengfang0911 2017-08-18
  • 打赏
  • 举报
回复
new StereoSGM<T>是创建对象, (m_width, m_height, m_maxDisp, i_params)这是给对象传参数。 m_sgmVector.push_back是把这个对象从尾部放到vector数组里面。
starytx 2017-08-17
  • 打赏
  • 举报
回复
在容器尾部插入一条数据啊,数据就是一个new操作符返回的StereoSGM类对象指针
真相重于对错 2017-08-17
  • 打赏
  • 举报
回复
往vector里面放入一个新的对象指针
jena_wy 2017-08-17
  • 打赏
  • 举报
回复
创建了一个对象,然后把该对象放到vector中
KaiZeek 2017-08-17
  • 打赏
  • 举报
回复
1. 首先需要确保你已经理解了vector http://www.cplusplus.com/reference/vector/ 2. m_sgmVector.push_back(new StereoSGM<T>(m_width, m_height, m_maxDisp, i_params)); 可以这样理解:

StereoSGM<T>* p = new StereoSGM<T>(m_width, m_height, m_maxDisp, i_params);
m_sgmVector.push_back(p);

64,654

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧