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

Как компилятор обрабатывает член класса static constexpr const char* - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Распознование животных на изображении http://www.cyberforum.ru/cpp/thread1807414.html
Стала интересна тема распознавания образов на изображениях. Программа должна получать картинку с животным и определить какое это животное(как я понимаю, задача не простая, но все же) . Подскажите в...
C++ Как подружить компьютер c МК через USB Здравствуйте, уважаемые форумчане! Никогда не работал с USB нужна помощь. Есть компьютер под управлением Windows 7, плата разработки DE0-Nano-SoC. Необходимо написать программу для ОС, которая... http://www.cyberforum.ru/cpp/thread1807335.html
C++ Различия между Java и Си++
Я раньше программировал на си++,сейчас начал на java,нужно понять основные различия 1. Каковы отличия в структуре программы вычисления простого арифметического выражения на языке Си и Си++ от...
C++ Отображение файла формата .fbx
Здравствуйте,здесь мы будем мучать openGL, fbx sdk, ImageMagick, assimp. В двух словах, как я думаю, у меня проблема с UV координатами. Мне необходимо сделать программу для отображения .fbx...
C++ Можно ли сдавать ОГЭ по информатике (последнее задание) на C++? http://www.cyberforum.ru/cpp/thread1804926.html
Можно ли сдавать ОГЭ по информатике (последнее задание) на C++? Там нужно будет писать на компе в блокноте, в консоле или ручкой на листике? Можно ли подключать заголовочники (iostream, cstdio,...
C++ Шаблоны функци в классе Создал следующий шаблон функции: #include <iostream> using namespace std; template<int N> int fibonacci(){ return fibonacci<N-1>() + fibonacci<N-2>(); } template<> int fibonacci<1>(){... подробнее

Показать сообщение отдельно
Evg
Эксперт CАвтор FAQ
18029 / 6261 / 427
Регистрация: 30.03.2009
Сообщений: 17,202
Записей в блоге: 27
20.09.2016, 09:26
Если вернуться к изначальному вопросу. Почему без constexpr не компилируется - уже ответили: инициализатор должен быть не в теле класса, а там, где объявлено само тело статического поля. Т.е. где-то вне тела класса должно быть написано

C++
const char* Foo::PTR = "value";
Из объяснений TheCalligrapher я так понял, что для статической инициализации указателя constexpr ничего принципиально нового не вносит (во всяком случае на низком уровне). А почему наличие constexpr позволяет инициализатор писать в теле класса? На всякий случай: мне непонятна только языковая часть, как работает компилятор, линкер, загрузчик и прочее на низком уровне, мне хорошо известно
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru