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

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

1622
Почему с массивами, почему [5] == 5 [a]?

Как указывает Джоэл в подкасте № 34 «Переполнение стека» на языке программирования C (он же K & R), в C упоминается это свойство массивов:a[5] == 5[a] Джоэл говорит, что это из-за арифметики указателей, но я все еще не понимаю. Почемуa[5] == 5[a]...

1603
Почему я должен использовать указатель, а не сам объект?

Я пришел из Java-фона и начал работать с объектами в C ++. Но одна вещь, которая пришла мне в голову, это то, что люди часто используют указатели на объекты, а не на сами объекты, например, это объявление: Object *myObject = new Object; скорее, чем: Object myObject; Или вместо использования...

1357
В чем разница между const int *, const int * const и int const *?

Я всегда беспорядок , как использовать const int*, const int * constи int const *правильно. Существует ли набор правил, определяющих, что вы можете и не можете делать? Я хочу знать все, что можно и чего нельзя делать с точки зрения назначений, передачи функций и т....

1235
Как работают указатели на функции в C?

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

570
Что именно является nullptr?

Теперь у нас есть C ++ 11 со многими новыми функциями. Интересным и запутанным (по крайней мере для меня) является новое nullptr. Ну, не надо больше для мерзкого макроса NULL. int* x = nullptr; myclass* obj = nullptr; Тем не менее, я не понимаю, как nullptrработает. Например, статья в Википедии...

480
Как я могу использовать массивы в C ++?

C ++ унаследовал массивы от C, где они используются практически везде. C ++ предоставляет абстракции, которые проще в использовании и менее подвержены ошибкам ( std::vector<T>начиная с C ++ 98 и std::array<T, n>начиная с C ++ 11 ), поэтому потребность в массивах возникает не так часто,...

460
Указатель функции typedef?

На этот вопрос есть ответы на Переполнение стека на русском : Как работает typedef в этом коде? Я учусь динамически загружать DLL, но я не понимаю, что это за строка typedef void (*FunctionFunc)(); У меня есть несколько вопросов. Если кто-то сможет ответить на них, я был бы благодарен. Почему...

449
Каковы барьеры для понимания указателей и что можно сделать, чтобы их преодолеть? [закрыто]

Закрыто . Этот вопрос должен быть более сфокусированным . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы он был сосредоточен только на одной проблеме, отредактировав этот пост . Закрыто 6 лет назад . Улучшить этот вопрос Почему указатели являются...

385
Как бесплатно узнать, сколько освободить?

В программировании на C вы можете передать любой указатель, который вам нравится, в качестве аргумента для освобождения. Как он узнает размер выделенной памяти для освобождения? Всякий раз, когда я передаю указатель на какую-то функцию, я также должен передать размер (то есть массив из 10 элементов...

381
Когда использовать ссылки против указателей

Я понимаю синтаксис и общую семантику указателей по сравнению со ссылками, но как мне решить, когда более или менее целесообразно использовать ссылки или указатели в API? Естественно, в некоторых ситуациях требуется то или другое ( operator++нужен ссылочный аргумент), но в целом я считаю, что...

359
Удаление объектов в JavaScript

Я немного запутался с deleteоператором JavaScript . Возьмите следующий кусок кода: var obj = { helloText: "Hello World!" }; var foo = obj; delete obj; После того, как этот кусок кода был выполнен, objесть null, но fooвсе еще ссылается на объект в точности как obj. Я предполагаю, что этот объект -...

357
Зачем использовать указатели? [закрыто]

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