Вопросы по теме 'nullptr'

Идеально эмулировать nullptr
Я устал ждать поддержки компилятором nullptr ( gcc 4.6 поддерживает , но это поэтому несколько новых дистрибутивов поддерживают его). Поэтому в качестве временного интервала до тех пор, пока nullptr не будет полностью поддерживаться, я решил...
1482 просмотров
schedule 02.03.2023

&* для исходного указателя, итератора и std::nullptr_t
У меня есть функция шаблона, которая включена (через std::enable_if), ее параметр является необработанным указателем, или имеет категорию std::iterator, или является std::nullptr_t. В этой функции необработанный указатель (элемент данных)...
280 просмотров
schedule 11.07.2023

Являются ли ссылки nullptr на неопределенное поведение в С++?
Следующий код дурачится с указателем nullptr и ссылкой: #include <cstdio> void printRefAddr(int &ref) { printf("printAddr %p\n", &ref); } int main() { int *ip = nullptr; int &ir = *ip; // 1. get address...
3621 просмотров
schedule 30.07.2022

Не могу вернуть nullptr в мой класс С++
В моем методе в моем классе я проверяю, равно ли значение 0, чтобы вернуть nullptr , однако я не могу этого сделать. Complex Complex::sqrt(const Complex& cmplx) { if(cmplx._imag == 0) return nullptr; return Complex(); }...
5743 просмотров
schedule 15.06.2023

Проверка того, является ли указатель в структуре нулевым
У меня очень простая структура struct Node{ Node* pNext; int nValue; }; и я пытаюсь всегда добавлять в pNext значение, отличное от нуля. Node *head; void add(int nValue){ if (!head) { Node *node = new...
5497 просмотров
schedule 27.01.2023

Ошибка компиляции 'nullptr' необъявленный идентификатор
Я пытаюсь скомпилировать исходный код с помощью Visual Studio 2008 Express, но получаю эту ошибку: Error C2065: 'nullptr' undeclared identifier. Мой код: if (Data == nullptr) { show("Data is null"); return 0; } Я...
31126 просмотров
schedule 13.03.2023

Когда NULL нельзя заменить на nullptr?
Я рефакторинг некоторого старого кода, который использует NULL во многих местах. Вопрос в том Безопасно ли слепо заменять все экземпляры NULL на nullptr ? Меня особенно интересует сценарий, в котором замена NULL на nullptr может...
2219 просмотров
schedule 10.12.2022

Освобождает ли nullptr память указателя?
Я спрашиваю, следует ли удалять указатель, даже если ему был назначен nullptr. Например, в следующем случае: std::string* foo = new std::string ("foo"); foo = nullptr; Занята ли память до выпуска nullptr или мы сталкиваемся с утечкой памяти?
1122 просмотров
schedule 23.11.2022

В чем разница между nullptr и nullptr_t в С++?
Какой из них я должен использовать? Какие-нибудь преимущества, если я использую один над другим?
7727 просмотров
schedule 05.03.2023

Влияет ли установка указателя на nullptr на другие указатели, указывающие на тот же адрес?
Рассмотрим следующую функцию, которая удаляет узел из двоичного дерева поиска, если у узла нет дочерних элементов: void erase_no_children(node* todel) { //... if (todel->parent->left == todel) //if todel is left child...
783 просмотров
schedule 08.06.2022

Как возможно, что доступ к nullptr работает?
У меня есть простой класс: class B { public: int getData() { return 3; } }; затем я инициализирую указатель на него с помощью nullptr: B *foo{ nullptr }; И тут, пытаясь им воспользоваться, приходит сюрприз: int t =...
346 просмотров
schedule 28.02.2023

Начальное значение nullptr и возврат WinAPI NULL
Если я инициализирую переменную значением nullptr. а затем я получаю к нему функцию WinAPI, которая может возвращать значение NULL в случае сбоя, нужно ли мне использовать NULL или я все еще могу проверять nullptr при проверке того, что когда-либо...
164 просмотров
schedule 17.01.2024

`std :: forward_list` ходить, пока итератор не станет нулевым?
Можно ли пройти std::forward_list , увеличивая итератор, пока указанный интегратор не станет нулевым? По старинке ... В следующем примере я создаю функцию print() . #include <iostream> #include <forward_list> void...
187 просмотров
schedule 22.07.2023

Ошибка C++ Directx: нарушение прав доступа, цепочка обмена была nullptr
Я пытаюсь изучить 3D-рисование с помощью DirectX, и я получил этот код в учебном пособии, но каждый раз, когда я пытаюсь его скомпилировать, мой компилятор выдает ошибку «Нарушение прав доступа». заранее спасибо // include the basic windows...
1095 просмотров
schedule 17.04.2024

Как определить наш собственный nullptr в С++ 98?
На самом деле я пишу свою собственную версию всех классов библиотеки и не хочу включать файлы STL в свой файл класса. Так, например, я хочу проверить, равен ли узел нулю. Если я напишу что-то вроде #define nullptr 0 Тогда он не работает с...
2727 просмотров
schedule 23.02.2023

Атомарный обмен указателя с nullptr
Как я могу выполнить следующие операции в одной атомарной операции? Это возможно? LARGE_INTEGER* ptr; // field void method() { LARGE_INTEGER* local = ptr; ptr = nullptr; } Итак, я хочу сохранить указатель из поля в...
822 просмотров
schedule 02.10.2023

Это неопределенное поведение для разыменования nullptr, как это?
#include <iostream> struct A { int arr[666]; }; int main() { std::cout<<sizeof( (static_cast<A*>(nullptr))->arr); //OK? } Приведенный выше код может быть запущен без ошибок. Говорит ли стандарт что-нибудь о такой...
34 просмотров
schedule 08.02.2023

Как `const std::string& s = nullptr` работает как необязательный параметр
Насколько мне известно, ссылка не может быть нулевой, но когда я запускаю такой код: #include <iostream> #include <string> void test(int i, const std::string& s = nullptr) { std::cout << i << " " << s <<...
627 просмотров
schedule 19.10.2022

Если make_shared/make_unique может генерировать bad_alloc, то почему использование для него блока try catch не является обычной практикой?
Страница CppReference для make_shared говорит (то же самое с make_unique) Может генерировать std::bad_alloc или любое исключение, генерируемое конструктором T. Если генерируется исключение, функции не действуют. Это означает, что в случае...
1193 просмотров
schedule 01.06.2023

Является ли nullptr ложным?
При использовании в качестве логического выражения или преобразовании в логическое значение явным или неявным образом nullptr неизменно ложно? Эта реализация определена или указана в стандарте? Я написал код для тестирования, но не уверен,...
1984 просмотров