Вопросы по теме 'dereference'
Как вы разыменовываете возвращаемые значения?
Я продолжаю сталкиваться с проблемами при разыменовании, особенно при возврате значений из функций.
Проблема, похоже, в том, что всякий раз, когда вы возвращаете что-либо, кроме скаляра, вы на самом деле возвращаете этот объект по ссылке, что меня...
3733 просмотров
schedule
04.05.2024
std::sort в контейнере указателей
Я хочу изучить различия в производительности для многократного разыменования данных внутри вектора вновь выделенных структур (или классов).
struct Foo
{
int val;
// some variables
}
std::vector<Foo*> vectorOfFoo;
// Foo objects are...
302 просмотров
schedule
13.03.2024
разыменование только что вставленного значения 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 просмотров
schedule
15.11.2023
Быстрое получение значения из 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 просмотров
schedule
23.02.2024
Определен ли доступ к члену по нулевому указателю в C++?
Является ли вычисление адреса для нулевого указателя определенным поведением в С++? Вот простой пример программы.
struct A { int x; };
int main() {
A* p = nullptr;
&(p->x); // is this undefined behavior?
return 0;
}
Спасибо....
113 просмотров
schedule
04.10.2022