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

Указатель - это тип данных, значение которого относится непосредственно (или «указывает») к другому значению, хранящемуся в другом месте в памяти компьютера, используя его адрес.

22
Являются ли нулевые ссылки действительно плохой вещью?
Я слышал, что включение нулевых ссылок в языки программирования является «ошибкой в ​​миллиард долларов». Но почему? Конечно, они могут вызывать NullReferenceExceptions, но что с того? Любой элемент языка может быть источником ошибок при неправильном использовании. И какая альтернатива? Я полагаю, вместо того, чтобы сказать это: Customer c = Customer.GetByLastName("Goodman"); // …

4
Чем ссылка Java отличается от указателя C?
В C есть указатели, а в Java есть так называемые ссылки. У них есть что-то общее в том смысле, что все они указывают на что-то. Я знаю, что указатели в C хранят адреса, на которые они указывают. Ссылка также хранит адрес? Чем они отличаются, кроме того, что указатель более гибкий …
97 java  c  pointers  reference 

16
Нужно ли юным умам изучать концепции указателей?
Почему мастер Си Деннис Ричи ввел указатели в Си? И почему другие языки программирования, такие как VB.NET, Java или C #, устранили их? Я нашел несколько пунктов в Google, и я тоже хочу выслушать ваши комментарии. Почему они исключают концепции указателей в современных языках? Люди говорят, что C является основным …

30
Какое хорошее объяснение для указателей? [закрыто]
В ваших собственных исследованиях (самостоятельно или в классе) был ли у вас момент "ах-ха", когда вы, наконец, действительно поняли указатели? У вас есть объяснение, которое вы используете для начинающих программистов, которое кажется особенно эффективным? Например, когда новички впервые сталкиваются с указателями в C, они могут просто добавлять &s и *s, …

17
Какие проблемы программирования лучше всего решать с помощью указателей? [закрыто]
Ну, я в основном понимаю, как использовать указатели, но не то, как лучше всего их использовать для лучшего программирования. Какие хорошие проекты или проблемы нужно решить, используя указатели, чтобы я мог лучше их понять?

9
Почему указатели не рекомендуются при кодировании на C ++?
Я где-то читал, что при использовании C ++ рекомендуется не использовать указатели. Почему указатели такие плохие идеи, когда вы используете C ++. Для программистов C, которые привыкли использовать указатели, что является лучшей альтернативой и подходом в C ++?
45 c++  c  pointers 

4
В C ++ почему и как виртуальные функции работают медленнее?
Может кто-нибудь подробно объяснить, как именно работает виртуальная таблица и какие указатели связаны при вызове виртуальных функций. Если они на самом деле медленнее, можете ли вы показать, что время выполнения виртуальной функции превышает обычные методы класса? Легко потерять отслеживание того, как / что происходит, не видя некоторого кода.

1
raw, weak_ptr, unique_ptr, shared_ptr и т. д. Как правильно их выбрать?
В C ++ есть много указателей, но, если честно, через 5 лет или около того в программировании на C ++ (особенно с Qt Framework) я использую только старый необработанный указатель: SomeKindOfObject *someKindOfObject = new SomeKindOfObject(); Я знаю, что есть много других «умных» указателей: // shared pointer: shared_ptr<SomeKindofObject> Object; // unique …

19
Потребуются ли приложениям реального мира 128-битное плоское адресное пространство?
Это немного "одного мегабайта должно хватить на всех", но ... 64-разрядное плоское адресное пространство позволяет в 4,3 миллиарда раз больше пространства, чем 32-разрядное адресное пространство. Это 17 179 869 184 ГиБ. Очевидно, что переход от 8 бит к 16 битам был довольно быстрым (я смотрю на вещи подростком в 80-х, …

10
Какого типа данные хранятся в языке Си?
Я знаю, что указатели содержат адреса. Я знаю, что типы указателей «общеизвестны» на основе «типа» данных, на которые они указывают. Но указатели по-прежнему являются переменными, и адреса, которые они содержат, должны иметь тип данных. Согласно моей информации, адреса в шестнадцатеричном формате. Но я до сих пор не знаю, какой "тип" …
30 c  pointers 

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

10
Разве использование переменных-указателей не накладные расходы памяти?
В таких языках, как C и C ++, при использовании указателей на переменные нам требуется еще одно место в памяти для хранения этого адреса. Так разве это не накладные расходы памяти? Как это компенсируется? Используются ли указатели в приложениях с нехваткой памяти, критичных ко времени?
29 c++  c  pointers 

3
Почему long int занимает 12 байтов на некоторых машинах?
Я заметил кое-что странное после компиляции этого кода на моей машине: #include <stdio.h> int main() { printf("Hello, World!\n"); int a,b,c,d; int e,f,g; long int h; printf("The addresses are:\n %0x \n %0x \n %0x \n %0x \n %0x \n %0x \n %0x \n %0x", &a,&b,&c,&d,&e,&f,&g,&h); return 0; } Результат следующий. Обратите …
26 c  memory  pointers 

4
Почему C ++ и Java используют понятие «ссылка», но не в одном и том же смысле?
В C ++ аргумент ссылки на функцию позволяет функции заставить ссылку ссылаться на что-то еще: int replacement = 23; void changeNumberReference(int& reference) { reference = replacement; } int main() { int i = 1; std::cout << "i=" << i << "\n"; // i = 1; changeNumberReference(i); std::cout << "i=" << …
26 java  c++  pointers  reference 

3
Зачем увеличивать указатели?
Я только недавно начал изучать C ++, и, как и большинство людей (согласно тому, что я читал), я борюсь с указателями. Не в традиционном смысле, я понимаю, что это такое, и почему они используются, и как они могут быть полезны, однако я не могу понять, насколько полезны инкрементные указатели, может …
25 c++  c  pointers 

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