Контейнер ссылок / ненулевые указатели

Я обычно использую ссылки вместо указателей, когда хочу NULL быть невозможным Поскольку у нас не может быть контейнеров ссылок, каким должен быть тип контейнера, который содержит только ненулевые указатели?

7

Решение

Если бы вы использовали контейнер указателей, вы бы просто использовали контейнер указателей, не помещали в него никаких указателей 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
}

Живая демо

10

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]