C ++, что происходит, когда `extern int * name` ссылается на несуществующую переменную, а затем к` name` получают доступ - PullRequest
0 голосов
/ 15 декабря 2011

У меня был extern unsigned int * name в .cpp, а затем я закомментировал указатель (объявленный в другом месте), на который он ссылается. К моему удивлению, программа все еще работает без сбоев и фактически работает как задумано, и я уверен, что name разыменовывается. Так что же конкретно происходит под капотом в этой ситуации?

Ответы [ 2 ]

4 голосов
/ 15 декабря 2011

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

3 голосов
/ 15 декабря 2011

Либо вы ошибаетесь из-за разыменования name, либо как-то добавили новый name того же типа в другом месте.

...