Вопросы с тегом «pointers»

Тип данных, который «указывает» на другое значение, хранящееся в памяти. Переменная-указатель содержит адрес памяти некоторой другой сущности (переменная или функция или другая сущность). Этот тег следует использовать для вопросов, связанных с использованием указателей, а не ссылок. Наиболее распространенными языками программирования, использующими указатели, являются C, C ++, Go и языки ассемблера. Используйте определенный языковой тег. Другими полезными тегами являются метод, функция, структура и т. Д., Описывающие использование указателя.

17
Какой смысл в константных указателях?
Я не говорю об указателях на константные значения, а о самих константных указателях. Я изучаю C и C ++ за пределами самых базовых вещей, и до сегодняшнего дня я понял, что указатели передаются по значению функциям, что имеет смысл. Это означает, что внутри функции я могу заставить скопированный указатель указывать …
149 c++  c  pointers  const 

11
Указатели на функции в Java
Это может быть что-то обычное и тривиальное, но мне кажется, что мне трудно найти конкретный ответ. В C # существует концепция делегатов, которая тесно связана с идеей указателей на функции из C ++. Есть ли подобная функциональность в Java? Учитывая, что указатели в некоторой степени отсутствуют, что лучше для этого? …


16
Указатель на уточнение указателя
Я следовал этому уроку о том, как работает указатель на указатель . Позвольте мне процитировать соответствующий отрывок: int i = 5, j = 6, k = 7; int *ip1 = &i, *ip2 = &j; Теперь мы можем установить int **ipp = &ip1; и ippуказывает, на ip1что указывает i. *ippесть ip1, …
142 c  pointers 

23
Как объяснить указатели C (объявление против унарных операторов) новичку?
Недавно я имел удовольствие объяснять указатели новичку в программировании на C и наткнулся на следующую трудность. Это может показаться не проблемой, если вы уже знаете, как использовать указатели, но постарайтесь внимательно рассмотреть следующий пример: int foo = 1; int *bar = &foo; printf("%p\n", (void *)&foo); printf("%i\n", *bar); Для абсолютного новичка …
142 c  pointers 

16
Как delete [] знает, что это массив?
Хорошо, я думаю, что мы все согласны с тем, что то, что происходит со следующим кодом, не определено, в зависимости от того, что передано, void deleteForMe(int* pointer) { delete[] pointer; } Указатель может быть разного рода, поэтому выполнение безусловного delete[]для него не определено. Тем не менее, давайте предположим, что мы …

5
Не могу понять, как рассчитать квадрат числа
Я нашел функцию, которая вычисляет квадрат числа: int p(int n) { int a[n]; //works on C99 and above return (&a)[n] - a; } Возвращает значение n 2 . Вопрос в том, как это сделать? После небольшого тестирования я обнаружил, что между (&a)[k]и (&a)[k+1]есть sizeof(a)/ sizeof(int). Это почему?

9
Почему использование «нового» вызывает утечку памяти?
Сначала я выучил C #, а теперь начинаю с C ++. Насколько я понимаю, оператор newв C ++ не похож на оператор в C #. Можете ли вы объяснить причину утечки памяти в этом примере кода? class A { ... }; struct B { ... }; A *object1 = new …

6
Что Visual Studio делает с удаленным указателем и почему?
В книге на C ++, которую я читал, говорится, что когда указатель удаляется с помощью deleteоператора, память в том месте, на которое он указывает, «освобождается» и может быть перезаписана. В нем также указано, что указатель будет продолжать указывать на то же место, пока он не будет переназначен или установлен на …

10
Передача ссылок на указатели в C ++
Насколько я могу судить, нет никаких причин, по которым мне нельзя разрешать передавать ссылку на указатель в C ++. Однако мои попытки сделать это терпят неудачу, и я не знаю почему. Вот что я делаю: void myfunc(string*& val) { // Do stuff to the string pointer } // sometime later …
130 c++  pointers  reference 

14
Почему указатели на функции и указатели данных несовместимы в C / C ++?
Я читал, что преобразование указателя функции в указатель данных и наоборот работает на большинстве платформ, но не гарантируется. Почему это так? Разве оба не должны быть просто адресами в основной памяти и, следовательно, быть совместимыми?

10
Выражения-указатели: * ptr ++, * ++ ptr и ++ * ptr
Недавно я столкнулся с этой проблемой, которую сам не могу понять. Что ДЕЙСТВИТЕЛЬНО означают эти три выражения ? *ptr++ *++ptr ++*ptr Я пробовал Ричи. Но, к сожалению, не смог уследить за тем, что он рассказал об этих трех операциях. Я знаю, что все они выполняются для увеличения указателя / значения, …
128 c++  c  pointers  increment 


9
Указатели в Python?
Я знаю, что у Python нет указателей, но есть ли способ 2вместо этого получить этот yield >>> a = 1 >>> b = a # modify this line somehow so that b "points to" a >>> a = 2 >>> b 1 ? Вот пример: я хочу , form.data['field']и form.field.valueвсегда …
124 python  pointers 

5
Разница между * ptr + = 1 и * ptr ++ в C
Я только начал изучать C, и когда делал один пример о передаче указателя на указатель в качестве параметра функции, я обнаружил проблему. Это мой пример кода: #include <stdio.h> #include <string.h> #include <stdlib.h> int* allocateIntArray(int* ptr, int size){ if (ptr != NULL){ for (int i = 0; i < size; i++){ …

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.