7

当我不想NULL成为可能时,我通常使用引用而不是指针。既然我们不能有引用容器,那么只包含非空指针的容器应该是什么类型?

4

1 回答 1

10

如果要使用指针容器,则只需使用指针容器,不要在其中放置任何 NULL 指针,然后继续。

但是,如果使用std::reference_wrapper. 例如:

#include <vector>
#include <iostream>
#include <functional>

int main()
{
    int x = 5;

    std::vector<std::reference_wrapper<int>> v;
    v.push_back(std::reference_wrapper<int>(x));

    x = 6;

    std::cout << v[0];  // 6
}

现场演示

于 2013-01-18T18:23:49.750 回答