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

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

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

4
Значення int (*) (int *) = 5 (або будь-яке ціле значення)
Я не можу зрозуміти це: int main() { int (*) (int *) = 5; return 0; } Вищевказане призначення компілюється з g ++ c ++ 11. Я знаю, що int (*) (int *)це вказівник на функцію, яка приймає (int *)аргумент як аргумент і повертає int, але я не розумію, як …

6
Як порівняти покажчики?
Припустимо, у мене є 2 вказівники: int *a = something; int *b = something; Якщо я хочу порівняти їх і подивитися, чи вказують вони на одне і те ж місце (a == b), працює?
88 c++  pointers 


5
Як ініціалізація значення “int * ptr = int ()” не є незаконною?
Наступний код (взятий звідси ): int* ptr = int(); компілюється у Visual C ++ та ініціалізує значення покажчика. Як це можливо? Я маю на увазі int()призводить об’єкт типу, intі я не можу призначити intвказівник. Як код вище не є незаконним?

10
У чому різниця між посиланням на C # та покажчиком?
Я не зовсім розумію різницю між посиланням на C # та покажчиком. Вони обидва вказують на місце в пам'яті, чи не так? Єдина різниця, яку я можу зрозуміти, полягає в тому, що покажчики не такі розумні, не можуть вказувати ні на що в купі, звільняються від збору сміття і можуть …
85 c#  pointers  reference 

3
Чи завжди покажчик із правильною адресою та типом завжди є дійсним покажчиком з C ++ 17?
(Стосовно цього питання та відповіді .) До стандарту C ++ 17 у [basic.compound] / 3 було включено таке речення : Якщо об’єкт типу T знаходиться за адресою A, вказівник типу cv T *, значення якого є адресою A, вказує на цей об’єкт, незалежно від того, як було отримано значення. Але …

5
Чому в обробниках HTTP Go, чому ResponseWriter є значенням, а Request не вказівником?
Я вивчаю Go, написавши програму для GAE, і це підпис функції обробника: func handle(w http.ResponseWriter, r *http.Request) {} Я тут новачок вказівника, то чому Requestоб’єкт є вказівником, а ResponseWriterні? Чи є необхідність мати його таким чином, чи це просто для того, щоб зробити можливим якийсь вдосконалений код на основі вказівника?
84 pointers  go 

9
Чи є вказівниками змінні python? чи ще які вони?
Наскільки я знаю, змінні в Python - це лише вказівники. Виходячи з цього правила, я можу припустити, що результат для цього фрагмента коду: i = 5 j = i j = 3 print(i) буде 3. Але я отримав несподіваний для мене результат, він був 5. Більше того, моя книга про …

5
“Int * nums = {5, 2, 1, 4}” спричиняє помилку сегментації
int *nums = {5, 2, 1, 4}; printf("%d\n", nums[0]); викликає сегментацію, тоді як int nums[] = {5, 2, 1, 4}; printf("%d\n", nums[0]); ні. Зараз: int *nums = {5, 2, 1, 4}; printf("%d\n", nums); відбитки 5. Виходячи з цього, я здогадався, що нотація ініціалізації масиву, {}, сліпо завантажує ці дані в …
81 c  arrays  pointers 

6
const char * і char const * - вони однакові?
Наскільки я розумію, constмодифікатори слід читати справа наліво. З цього я отримую таке: const char* є покажчиком, елементи символу якого неможливо змінити, але сам вказівник може, і char const* є постійним вказівником на mutableсимволи. Але я отримую такі помилки для наступного коду: const char* x = new char[20]; x = …

3
Що означає P :: ************ у файлі Boost assert.hpp?
У boost / mpl / assert.hpp я побачив щось подібне: template<class Pred> struct eval_assert { typedef typename extract_assert_pred<Pred>::type P; typedef typename P::type p_type; typedef typename ::boost::mpl::if_c<p_type::value, AUX778076_ASSERT_ARG(assert<false>), failed ************ P::************ >::type type; }; Якщо перше ************можна розглядати як вказівники на структуру, що не вдалося, P::************для мене це насправді не має …
80 c++  pointers  boost 


6
Роздрукуйте адресу або покажчик для значення в C
Я хочу зробити щось, що здається досить простим. Я отримую результати, але проблема в тому, що я не маю можливості дізнатися, чи є результати правильними. Я працюю на C і маю два покажчики; Я хочу надрукувати вміст покажчика. Я не хочу розіменовувати покажчик, щоб отримати значення, на яке вказують, я …

13
Тип посилання в C #
Розглянемо цей код: public class Program { private static void Main(string[] args) { var person1 = new Person { Name = "Test" }; Console.WriteLine(person1.Name); Person person2 = person1; person2.Name = "Shahrooz"; Console.WriteLine(person1.Name); //Output: Shahrooz person2 = null; Console.WriteLine(person1.Name); //Output: Shahrooz } } public class Person { public string Name { …
79 c#  .net  pointers 

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