Форум программистов, компьютерный форум CyberForum.ru

Константные глобальные переменные - константные ли? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Что же нужно знать чтобы поступить на работу программистом? http://www.cyberforum.ru/cpp/thread1074675.html
Здравствуйте уважаемые форумчане....Я изучаю C++ на протяжении 4 лет, писал много программ и игр на OpenGL в основном 2D в 3D зарисовывал только вращающийся куб, как работать с камерой так и не понял, не нашел подходящей статьи для изучения. недавно год назад после армии стал ходить на собеседования по вакансии программиста C++...в некоторых местах говорили что мой уровень стажера в других что...
C++ Окна Win 32 API Начали изучать недавно никак не разберусь! Помогите пожалуйста с задачкой: Центр рабочей области окна занимает временное окно размером в чет-верть площади области. Оно перемещается в тот угол рабочей области, где щелкнули левой клавишей мыши. А после щелчка правой клави-шей мыши временное окно перемещается в угол, противоположный текущему углу. Благодарю! http://www.cyberforum.ru/cpp/thread1073023.html
Использование функций MatLab или Вейвлет-преобразования с подавлением шума (VisualStudio) C++
Не знаю в какой раздел писать, простите если что Ситуация следующая, есть код написанный в MatLab, в котором используются вайвлет-преобразования и подавление шумов. Надо сделать так-же на C/C++. Нашел библиотеку Wavelet Transform. Задолбался, запустил, создал lib из deb, пример заработал. Теперь надо проверить, будет ли соотноситься данное преобразование с тем, что происходит в MatLab. Может...
C++ Ошибка при запуске приложения 0x0000007b
Доброго! Имею проект в VS2012, билд на других компах при запуске выдает ошибку 0x0000007b. dll вроде все подкинул в проект, и все равно вылетает. может кто сталкивался с такой проблемой? Добавлено через 3 часа 57 минут Обновление информации. Когда я устанавливаю на голый компьютер Microsoft Visual C++ 2012 Redistributable Package - проект начинает запускаться, а если попытаться выдрать...
C++ C++ MPI выделение потоков http://www.cyberforum.ru/cpp/thread1071543.html
Здравствуйте, я к вам с немного нубским вопросом. Написал вот такой код: #include <iostream> #include <vector> #include <ctime> #include <mpi.h> using namespace std; void FillMatrix(const int n, const int m, int** mtrx, int* ivc); void ReceiveMatrix(const int n, const int m, int** mtrx, int* rvc);
C++ в какой среде разработки написан антивирус касперского Собственно вопрос ясен из названия темы подробнее

Показать сообщение отдельно
MrGluck
Модератор
Эксперт CЭксперт С++
7210 / 4376 / 638
Регистрация: 29.11.2010
Сообщений: 11,887

Константные глобальные переменные - константные ли? - C++

18.01.2014, 21:45. Просмотров 2729. Ответов 0
Метки (Все метки)

Сейчас вспомнил один момент, который остался неразрешенной для меня загадкой. Случилось это более года назад. Пытался устроиться на стажировку в Яндекс. Дали 3 задания, последнее требовало из 10000 исходников на С++ любыми средствами вытащить список глобальных переменных. При этом, в примере что они предоставили, глобальные константы за оные не считаются.

Переписка:
Здравствуйте, ув. XXX!
У меня есть вопрос относительно задачи С. В ней необходимо вывести список глобальных переменных. В примере почему-то пропущена глобальная переменная с модификатором const. Это намеренный пропуск (т.е. переменные с const следует не считать) или же опечатка?
Спасибо за внимание.
Константы не счиаем глобальными.
Я знаю, что gcc при связывании константы как глобальные переменные не отмечает. Но имеем ли мы право так рассуждать, основываясь лишь на чисто технической реализации компилятора?

К сожалению, авторитетных источников информации по этому поводу не нашел (видимо плохо искал).

Не по теме:

Да, они хотели парсер выхлопа gcc



Добавлено через 1 час 21 минуту
С позволения Убежденный (из ЛС)
В стандарте C++03, в разделе 3.5 "Program and linkage", сказано:
3. A name having namespace scope (3.3.5) has internal linkage if it is the name of

- an object, reference, function or function template that is explicitly declaredstaticor,

- an object or reference that is explicitly declared const and neither explicitly declared
extern nor previously declared to have external linkage
; or

- a data member of an anonymous union.
То есть, такое поведение - не просто особенность технической реализации
компилятора, оно подразумевается стандартом языка.
На всякий случай приведу тот же пункт из С++11:
A name having namespace scope (3.3.6) has internal linkage if it is the name of
— a variable, function or function template that is explicitly declared static; or,
a variable that is explicitly declared const or constexpr and neither explicitly declared extern nor
previously declared to have external linkage
; or
— a data member of an anonymous union.
То есть то же + constrexpr.
Спасибо ему за ответ.
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru