Неиспользуемые переменные
Подобный макрос есть, например, в cocos2d-x, там он называется CC_UNUSED_PARAM. Из недостатков: теоретически, он может работать не на всех компиляторах. Тем не менее, в cocos2d-x он для всех платформ определен абсолютно одинаково.
Для чего? Этот макрос позволяет избежать предупреждения о неиспользуемой переменной, а читающему код он как бы говорит: «тот кто писал это — знал, что переменная не используется, все в порядке».
Подобный макрос есть, например, в cocos2d-x, там он называется CC_UNUSED_PARAM. Из недостатков: теоретически, он может работать не на всех компиляторах. Тем не менее, в cocos2d-x он для всех платформ определен абсолютно одинаково.
Для чего? Этот макрос позволяет избежать предупреждения о неиспользуемой переменной, а читающему код он как бы говорит: «тот кто писал это — знал, что переменная не используется, все в порядке».
Могут ли статичные функции быть виртуальными в С++?
В C++ статическая функция-член класса не может быть виртуальной. Виртуальные функции вызываются, когда у вас есть указатель или ссылка на экземпляр класса. Статические функции не привязаны к экземпляру класса, но они привязаны к самому классу. C++ не имеет указателей на класс, поэтому нет сценария, в котором вы могли бы виртуально вызвать статическую функцию.
Например, программа с картинки в примере 1 выдаст ошибку во время компиляции.
Кроме того, статическая функция-член класса не может иметь одновременно идентификаторы const и volatile. Код из примера 2 тоже не скомпилируется.
В C++ статическая функция-член класса не может быть виртуальной. Виртуальные функции вызываются, когда у вас есть указатель или ссылка на экземпляр класса. Статические функции не привязаны к экземпляру класса, но они привязаны к самому классу. C++ не имеет указателей на класс, поэтому нет сценария, в котором вы могли бы виртуально вызвать статическую функцию.
Например, программа с картинки в примере 1 выдаст ошибку во время компиляции.
Кроме того, статическая функция-член класса не может иметь одновременно идентификаторы const и volatile. Код из примера 2 тоже не скомпилируется.
Недавно запущенный самый крупный из когда-либо запущенных человечеством космический телескоп Джеймс Уэбб работает на C++.
https://www.youtube.com/watch?v=hET2MS1tIjA&t=1938s
https://www.youtube.com/watch?v=hET2MS1tIjA&t=1938s
YouTube
News Update on James Webb Space Telescope's Full Deployment
Experts from the James Webb Space Telescope team discuss the successful completion of the final stage of all major spacecraft deployments to prepare for science operations.
On Sat., Jan. 8, Mission Operations Center ground control at the Space Telescope…
On Sat., Jan. 8, Mission Operations Center ground control at the Space Telescope…
Что выведет программа по стандарту С++17?
Anonymous Quiz
12%
1111
18%
2222
5%
1121
16%
1211
11%
2111
14%
Compiler Error
24%
Ничего из этого
Что выведет код по стандарту С++17?
Anonymous Quiz
55%
42
6%
print
27%
Compiler Error
6%
Ничего
6%
Ничего из этого
Что выведет программа?
Anonymous Quiz
49%
1
32%
Compiler Error
13%
Зависит от компилятора
6%
Случайное значение
Сколько и каких конструкторов класса std::string будет вызвано в коде?
Anonymous Quiz
47%
Конструктор по умолчанию + конструктор перемещения
17%
Конструктор по умолчанию + два конструктора перемещения
29%
Конструктор по умолчанию + конструктор перемещения + конструктор копирования
7%
Конструктор по умолчанию + два конструктора копирования