Есть ли способ гарантировать, что проверки nullptr выполняются из возврата функции?C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Есть ли способ гарантировать, что проверки nullptr выполняются из возврата функции?

Сообщение Anonymous »

Скажем так, у меня есть контейнер, в котором хранятся объекты, и в контейнере я храню информацию о том, действителен ли объект. У меня есть сильные ручки и слабые ручки. Если получить объект из контейнера с помощью сильного дескриптора, то существование объекта гарантировано, поскольку сильные дескрипторы сохраняют объект живым. Тогда как при слабом дескрипторе такой гарантии нет, так что объект может не существовать. Я хочу вернуть ссылку на объект, когда он получен с сильным дескриптором, и указатель, возвращаемый, когда объект получен со слабым дескриптором.
T& getObjectWithStrongHandle(int idx);
T* getObjectWithWeakHandle(int idx);

Я хочу убедиться, что указатель проверяется компилятором перед его использованием и выдачей предупреждения или, желательно, ошибки. Есть что-то вроде:
[[must_check]] T* getObjectWithWeakHandle(int idx);


Подробнее здесь: https://stackoverflow.com/questions/791 ... ion-return
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»