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

Как вы разыменовываете возвращаемые значения?
Я продолжаю сталкиваться с проблемами при разыменовании, особенно при возврате значений из функций. Проблема, похоже, в том, что всякий раз, когда вы возвращаете что-либо, кроме скаляра, вы на самом деле возвращаете этот объект по ссылке, что меня...
3733 просмотров
schedule 04.05.2024

std::sort в контейнере указателей
Я хочу изучить различия в производительности для многократного разыменования данных внутри вектора вновь выделенных структур (или классов). struct Foo { int val; // some variables } std::vector<Foo*> vectorOfFoo; // Foo objects are...
302 просмотров

разыменование только что вставленного значения std::map иногда приводит к нарушению прав доступа
Label_Info — это просто тривиальный класс с некоторыми членами типа int: class Label_Info { public: Label_Info(); unsigned int x, x1, x2, y, y1, y2, size; }; Label_Info::Label_Info() { this->x = this->y = this->size = 0;...
185 просмотров
schedule 16.11.2022

Операции с указателями и приоритет операторов в C
Фон Только что сегодня разговаривал с парнем C, и мы не согласились со следующим: int intgA[2] = { 1, 2 }; int intgB[2] = { 3, 5 }; int *intAPtr = intgA; int *intBPtr = intgB; Итак, когда мы делаем: *intAPtr++ = *intBPtr++; Мой...
1047 просмотров

Быстрое получение значения из UnsafeMutablePointer‹Void› с использованием UnsafePointer‹String›
Я пытаюсь передать contextInfo типа UnsafeMutablePointer<Void> в UISaveVideoAtPathToSavedPhotosAlbum и использовать его в функции обратного вызова. По какой-то причине я не могу получить доступ к contextInfo в виде строки, используя...
13350 просмотров
schedule 12.11.2023

Реализация итератора списка и операторов: ++ *
Исходя из этого вопроса: std::list реализация и арифметика указателя. Я хочу реализовать итератор списка, взаимозаменяемый с другими распространенными типами контейнеров и их соответствующими итераторами, поэтому я хочу использовать такие...
2436 просмотров
schedule 09.11.2022

Разыменование двойного указателя
Я не понимаю, почему последний фрагмент кода печатает 2000, а не 4000. Думаю, какая-то ошибка новичка. Вы знаете? Использование DevC++. int val1 = 1000; int val2 = 2000; int val3[2] = {3000, 4000}; int **b[3]; *(b+0)= &val1; *(b+1) =...
2466 просмотров
schedule 25.03.2024

Почему мне нужно присвоить этому разыменованному итератору временное значение?
Я работаю над проектом, который содержит древовидную структуру данных, при этом каждый узел в дереве хранит указатели на дочерние узлы в векторе. В одной из своих функций я пытаюсь перебрать вектор с помощью итераторов, но чтобы заставить его...
254 просмотров
schedule 30.05.2024

'Попытка разыменовать итератор за пределами конца' при сортировке вектора путей файловой системы
Я пишу простой селектор файлов, используя std :: filesystem. Записи текущего каталога хранятся в векторе. Когда я пытаюсь отсортировать вектор с помощью std :: sort, программа вылетает. Это происходит с g ++ - 9 в Ubuntu 19.04. Файл...
296 просмотров

Определен ли доступ к члену по нулевому указателю в C++?
Является ли вычисление адреса для нулевого указателя определенным поведением в С++? Вот простой пример программы. struct A { int x; }; int main() { A* p = nullptr; &(p->x); // is this undefined behavior? return 0; } Спасибо....
113 просмотров