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

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


4
Какой смысл в указателях в Go?
Я знаю, что указатели в Go позволяют изменять аргументы функции, но было бы проще, если бы они принимали только ссылки (с соответствующими константными или изменяемыми квалификаторами). Теперь у нас есть указатели и для некоторых встроенных типов, таких как карты и каналы, неявная передача по ссылке. Я что-то упускаю или указатели …
100 pointers  go 

3
Может ли указатель на базу указывать на массив производных объектов?
Сегодня я пришла на собеседование и мне задали этот интересный вопрос. Помимо утечки памяти и отсутствия виртуального dtor, почему этот код дает сбой? #include <iostream> //besides the obvious mem leak, why does this code crash? class Shape { public: virtual void draw() const = 0; }; class Circle : public …
99 c++  pointers 


5
Как увеличить адрес указателя и значение указателя?
Допустим, int *p; int a = 100; p = &a; Что на самом деле будет делать следующий код и как? p++; ++p; ++*p; ++(*p); ++*(p); *p++; (*p)++; *(p)++; *++p; *(++p); Я знаю, что это немного запутанно с точки зрения кодирования, но я хочу знать, что на самом деле произойдет, когда …
96 c  pointers 

13
Размещение звездочки в объявлениях указателей
Недавно я решил, что мне просто нужно наконец выучить C / C ++, и есть одна вещь, которую я действительно не понимаю в указателях или, точнее, в их определении. Как насчет этих примеров: int* test; int *test; int * test; int* test,test2; int *test,test2; int * test,test2; Теперь, насколько я …
95 c++  c  pointers  declaration 

4
Как объявить std :: unique_ptr и в чем его польза?
Я пытаюсь понять, как это std::unique_ptrработает, и для этого я нашел этот документ. Автор исходит из следующего примера: #include <utility> //declarations of unique_ptr using std::unique_ptr; // default construction unique_ptr<int> up; //creates an empty object // initialize with an argument unique_ptr<int> uptr (new int(3)); double *pd= new double; unique_ptr<double> uptr2 (pd); …
95 c++  pointers  std  unique-ptr 

17
В чем смысл указателей на функции?
Мне сложно увидеть полезность указателей на функции. Я предполагаю, что в некоторых случаях это может быть полезно (в конце концов, они существуют), но я не могу придумать случая, когда лучше или неизбежно использовать указатель на функцию. Не могли бы вы привести пример правильного использования указателей на функции (на C или …
94 c++  c  function  pointers  c++-faq 

6
C # Хранение функций в словаре
Как мне создать словарь, в котором я могу хранить функции? Спасибо. У меня около 30+ функций, которые могут быть выполнены пользователем. Я хочу иметь возможность выполнять функцию следующим образом: private void functionName(arg1, arg2, arg3) { // code } dictionaryName.add("doSomething", functionName); private void interceptCommand(string command) { foreach ( var cmd in …

6
Удаление указателя в C ++
Контекст: Я пытаюсь осмыслить указатели, мы видели их всего пару недель назад в школе, а сегодня, тренируясь, я наткнулся на глупца? проблема, это может быть очень просто для вас, но у меня практически нет опыта программирования. Я видел довольно много вопросов в SO об удалении указателей, но все они, похоже, …

5
Правильный способ объявления переменных-указателей в C / C ++ [закрыто]
В настоящее время этот вопрос не подходит для нашего формата вопросов и ответов. Мы ожидаем, что ответы будут подтверждены фактами, ссылками или опытом, но этот вопрос, скорее всего, потребует дебатов, аргументов, опросов или расширенного обсуждения. Если вы считаете, что этот вопрос можно улучшить и, возможно, снова открыть, обратитесь за помощью …
91 c++  c  pointers  coding-style 

1
Что такое «толстый указатель» в Rust?
Я уже читал термин «толстый указатель» в нескольких контекстах, но я не уверен, что именно он означает и когда он используется в Rust. Указатель кажется вдвое больше обычного указателя, но я не понимаю почему. Это также имеет какое-то отношение к объектам-признакам.
91 pointers  rust 

29
Указатели проверки на валидность (C / C ++)
Есть ли способ определить (конечно, программно), является ли данный указатель «действительным»? Проверить значение NULL просто, но как насчет таких вещей, как 0x00001234? При попытке разыменовать указатель такого типа возникает исключение / сбой. Кроссплатформенный метод предпочтительнее, но подойдет и платформенный (для Windows и Linux). Обновление для пояснения: проблема не в устаревших …
91 c++  c  validation  pointers  null 

8
Можно ли инициализировать указатель C значением NULL?
Я писал такие вещи, как char *x=NULL; в предположении, что char *x=2; создаст charуказатель на адрес 2. Но в The GNU C Programming Tutorial говорится, что int *my_int_ptr = 2;целочисленное значение сохраняется 2по любому случайному адресу, по которому my_int_ptrоно выделяется. Это может означать, что я char *x=NULLприсваиваю любое значение NULLcast …

3
Ссылки на диапазон вместо значений
Я видел, что этот диапазон возвращает ключ и «копию» значения. Есть ли способ вернуть адрес товара из этого диапазона? пример package main import "fmt" type MyType struct { field string } func main() { var array [10]MyType for _, e := range array { e.field = "foo" } for _, …
90 pointers  reference  go 

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