Запитання з тегом «pointers»

Тип даних, що "вказує" на інше значення, збережене в пам'яті. Змінна вказівника містить адресу пам'яті якоїсь іншої сутності (змінної чи функції чи іншої сутності). Цей тег слід використовувати для запитань щодо використання покажчиків, а не посилань. Найпоширенішими мовами програмування, що використовують покажчики, є мови C, C ++, Go та збірки. Використовуйте певний мовний тег. Інші корисні теги - метод, функція, структура тощо, що описують використання покажчика.

17
Який сенс указівників const?
Я кажу не про покажчики на значення const, а про самі const покажчики. Я вивчаю 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
Як пояснити початківцю покажчики С (декларація проти одинарних операторів)?
Нещодавно я мав задоволення пояснювати покажчики початківцю програмування на С і натрапляв на наступні труднощі. Це може не здатися проблемою, якщо ви вже знаєте, як користуватися покажчиками, але спробуйте зрозуміти наступний приклад чітко: int foo = 1; int *bar = &foo; printf("%p\n", (void *)&foo); printf("%i\n", *bar); Для абсолютного початківця вихід …
141 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 …

6
Що робить Visual Studio зі видаленим покажчиком і чому?
Книга C ++, яку я читав, говорить про те, що при видаленні вказівника за допомогою deleteоператора пам'ять у місці, на яке він вказує, "звільняється", і його можна перезаписати. Тут також зазначено, що покажчик продовжуватиме вказувати на те саме місце, поки не буде призначений або встановлений на нього NULL. Однак у …

14
Чому функції покажчиків та покажчиків даних несумісні в C / C ++?
Я читав, що перетворення покажчика функції на покажчик даних і навпаки працює на більшості платформ, але не гарантовано. Чому це так? Чи не повинні обидва бути просто адресами в основну пам'ять і тому бути сумісними?

10
Передача посилань на покажчики в C ++
Наскільки я можу сказати, немає жодної причини, щоб мені не було дозволено передавати посилання на вказівник на C ++. Однак мої спроби зробити це невдало, і я не знаю, чому. Це те, що я роблю: void myfunc(string*& val) { // Do stuff to the string pointer } // sometime later …
130 c++  pointers  reference 

10
Вирази вказівника: * ptr ++, * ++ ptr та ++ * ptr
Нещодавно я стикався з цією проблемою, яку я не в змозі зрозуміти сам. Що дійсно означають ці три вирази ? *ptr++ *++ptr ++*ptr Я спробував Річі. Але, на жаль, не зміг слідкувати за тим, що він розповів про ці 3 операції. Я знаю, що всі вони виконуються для збільшення покажчика …
128 c++  c  pointers  increment 


9
Покажчики в Python?
Я знаю , що Python не має покажчиків, але є спосіб , щоб цей вихід 2замість >>> 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 


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.