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

185
std :: auto_ptr в std :: unique_ptr

С появлением нового стандарта (и частей, уже доступных в некоторых компиляторах), новый тип std::unique_ptrдолжен заменить его std::auto_ptr. Их использование в точности совпадает (поэтому я могу выполнить глобальный поиск / замену в моем коде (не то, чтобы я это делал, но если бы я это сделал))...

183
Почему «это» указатель, а не ссылка?

Я читал ответы на этот вопрос плюсы и минусы C ++ и получил это сомнение, читая комментарии. Программисты часто путают, что «это» - указатель, а не ссылка. Другая путаница заключается в том, что «hello» не относится к типу std :: string, а вычисляется как char const * (указатель) (после...

177
Арифметика указателя для пустого указателя в C

Когда указатель к определенному типу (скажем int, char, float, ..) увеличивается, его значение увеличивается на размер этого типа данных. Если voidуказатель, который указывает на данные размера x, увеличивается, как он может указывать xвперед байты? Как компилятор знает, как добавить xзначение...

177
Функции обратного вызова в Java

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

173
Что людям трудно найти в C-указателях? [закрыто]

В настоящее время этот вопрос не очень подходит для нашего формата вопросов и ответов. Мы ожидаем, что ответы будут подтверждены фактами, ссылками или опытом, но этот вопрос, скорее всего, вызовет дебаты, споры, опрос или расширенное обсуждение. Если вы считаете, что этот вопрос можно улучшить и,...

170
Использование универсальных объектов std :: function с функциями-членами в одном классе

Для одного класса я хочу сохранить несколько указателей на функции-члены одного класса в одном mapобъекте хранения std::function. Но я терплю неудачу в самом начале с этим кодом: class Foo { public: void doSomething() {} void bindFunction() { // ERROR std::function<void(void)> f =...

167
В Си, почему некоторые люди приводят указатель перед освобождением?

Я работаю над старой базой кода и почти каждый вызов free () использует приведение своего аргумента. Например, free((float *)velocity); free((float *)acceleration); free((char *)label); где каждый указатель имеет соответствующий (и соответствующий) тип. Я не вижу смысла делать это вообще. Это очень...

162
Должен ли я хранить целые объекты или указатели на объекты в контейнерах?

Проектирование новой системы с нуля. Я буду использовать STL для хранения списков и карт определенных долгоживущих объектов. Вопрос: Должен ли я гарантировать, что мои объекты имеют конструкторы копирования и хранят копии объектов в моих контейнерах STL, или лучше вообще управлять жизнью и областью...

159
Использование умных указателей для учеников

У меня проблемы с пониманием использования умных указателей в качестве членов класса в C ++ 11. Я много читал об умных указателях и думаю, что понимаю, как unique_ptrи shared_ptr/ или weak_ptrработаю в целом. То, что я не понимаю, является реальным использованием. Кажется, что все рекомендуют...

156
Почему библиотеки и фреймворки C ++ никогда не используют умные указатели?

Я прочитал в нескольких статьях, что сырые указатели почти никогда не должны использоваться. Вместо этого они всегда должны быть заключены в интеллектуальные указатели, будь то область видимости или общие указатели. Однако я заметил, что фреймворки, такие как Qt, wxWidgets и библиотеки, такие как...

153
Возврат массива с использованием C

Я относительно новичок в C, и мне нужна помощь с методами работы с массивами. Исходя из Java-программирования, я привык говорить int [] method(), чтобы возвращать массив. Тем не менее, я обнаружил, что с C вы должны использовать указатели для массивов, когда вы возвращаете их. Будучи новым...

150
Является ли хорошей практикой обнулять указатель после его удаления?

Я начну с того, что использую умные указатели, и вам никогда не придется об этом беспокоиться. Какие проблемы со следующим кодом? Foo * p = new Foo; // (use p) delete p; p = NULL; Это было вызвано ответом и комментариями к другому вопросу. Один комментарий от Нила Баттерворта вызвал несколько...

149
Какой смысл в константных указателях?

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

149
Почему x [0]! = X [0] [0]! = X [0] [0] [0]?

Я немного изучаю C ++ и борюсь с указателями. Я понимаю, что я могу иметь 3 уровня указателей, объявив: int *(*x)[5]; так что *xэто указатель на массив из 5 элементов, на которые есть указатели int. Кроме того, я знаю , что x[0] = *(x+0);, x[1] = *(x+1)и так далее .... Итак, с учетом вышеуказанной...

148
Как работает код C, который печатает от 1 до 1000 без циклов или условных операторов?

Я нашел Cкод, который печатает от 1 до 1000 без циклов или условных выражений : но я не понимаю, как это работает. Может кто-нибудь пройти код и объяснить каждую строку? #include <stdio.h> #include <stdlib.h> void main(int j) { printf("%d\n", j); (&main + (&exit -...

148
Указатели на функции в Java

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