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

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

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

Показать сообщение отдельно
TheCalligrapher
С чаем беда...
Эксперт CЭксперт С++
3641 / 1916 / 505
Регистрация: 18.10.2014
Сообщений: 3,480
22.09.2016, 22:19     Как компилятор обрабатывает член класса static constexpr const char*
Цитата Сообщение от TheCalligrapher Посмотреть сообщение
Если где-то в коде PTR окажется использованным как lvalue, то придется его еще где-то определить. Инициализатор в определении повторять не надо.
Тут, кстати, стоит добавить, что в С++17 все сильно меняется.

В С++17 вводится понятие inline variable. И можно будет писать так

C++
1
2
3
4
struct S
{
  inline static int x = 42;
}
при этом вышеприведенное объявление переменной S::x является ее определением. Переменную можно использовать как lvalue, и при этом какого-то дополнительного определения для нее делать не надо (и нельзя).

Далее, constexpr константы в С++17 становятся частным случаем inline variable. При этом, для сохранения обратной совместимости, писать отдельное "определение" для такой константы разрешается, но является deprecated

C++
1
2
3
4
5
6
struct S
{
  static constexpr int x = 42; // теперь это - определение
};
 
constexpr int S::x; // пока можно, но deprecated
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru