begin()函数。

template <typename T>
T* Vector<T>::begin() {
    return &elem[0];                //指针指向第一个元素
    //return elem;
}

代码如上图所示,我想问的是在这里两个return的区别。

template <typename T>
void PrintElem(T &ve) {
    for (auto x : ve)
        cout << x << " ";
}

这段代码,用第一个return就可以,第二个就不行....求解大神。

阅读 2.6k
1 个回答

因为foreach是基于静态数组的,对动态数组无效。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题