Пространства имён
Варианты
Действия

Логические литералы

Материал из cppreference.com
< cpp‎ | language
 
 
Язык С++
Общие темы
Управление потоком
Операторы условного выполнения
if
Операторы итерации (циклы)
Операторы перехода
Функции
Объявление функции
Выражение лямбда-функции
Спецификатор inline
Спецификации динамических исключений (до C++17*)
Спецификатор noexcept (C++11)
Исключения
Пространства имён
Типы
Спецификаторы
decltype (C++11)
auto (C++11)
alignas (C++11)
Спецификаторы длительности хранения
Инициализация
Выражения
Альтернативные представления
Литералы
Логические - Целочисленные - С плавающей запятой
Символьные - Строковые - nullptr (C++11)
Определяемые пользователем (C++11)
Утилиты
Атрибуты (C++11)
Types
Объявление typedef
Объявление псевдонима типа (C++11)
Casts
Неявные преобразования - Явные преобразования
static_cast - dynamic_cast
const_cast - reinterpret_cast
Выделение памяти
Классы
Свойства функции класса
explicit (C++11)
static
Специальные функции-элементы
Шаблоны
Разное
 
Выражения
Общие
Категории значений (lvalue, rvalue, xvalue)
Порядок оценки (точки последовательности)
Константные выражения
Потенциально оцениваемые выражения
Первичные выражения
Лямбда-выражения(C++11)
Литералы
Целочисленные литералы
Литералы с плавающей запятой
Логические литералы
Символьные литералы, включая управляющие последовательности
Строковые литералы
Литерал нулевого указателя(C++11)
Пользовательский литерал(C++11)
Операторы
a=b, a+=b, a-=b, a*=b, a/=b, a%=b, a&=b, a|=b, a^=b, a<<=b, a>>=b
++a, --a, a++, a--
+a, -a, a+b, a-b, a*b, a/b, a%b, ~a, a&b, a|b, a^b, a<<b, a>>b
a||b, a&&b, !a
a==b, a!=b, a<b, a>b, a<=b, a>=b, a<=>b (начиная с C++20)
a[b], *a, &a, a->b, a.b, a->*b, a.*b
a(...), a,b, a?b:c
выражение new
выражение delete
выражение throw
alignof
sizeof
sizeof...(C++11)
typeid
noexcept(C++11)
Выражения свёртки(C++17)
Альтернативные представления операторов
Приоритет и ассоциативность
Перегрузка операторов
Сравнение по умолчанию(C++20)
Преобразования
Неявные преобразования
Обычные арифметические преобразования
const_cast
static_cast
reinterpret_cast
dynamic_cast
Явные преобразования: (T)a, T(a), auto(a), auto{a} (начиная с C++23)
Пользовательское преобразование
 

Содержание

[править] Синтаксис

true (1)
false (2)

[править] Объяснение

Логические литералы это ключевые слова true и false. Это значения prvalue типа bool.

[править] Примечание

Смотрите целочисленные преобразования для неявных преобразований из bool в другие типы и логические преобразования для неявных преобразований из других типов в bool.

[править] Пример

#include <iostream>
 
int main()
{
  std::cout << std::boolalpha
            << true << '\n'
            << false << '\n'
            << std::noboolalpha
            << true << '\n'
            << false << '\n';
}

Вывод:

true
false
1
0

[править] Ссылки

  • C++23 стандарт (ISO/IEC 14882:2023):
  • 5.13.6 Логические литералы [lex.bool]
  • C++20 стандарт (ISO/IEC 14882:2020):
  • 5.13.6 Логические литералы [lex.bool]
  • C++17 стандарт (ISO/IEC 14882:2017):
  • 5.13.6 Логические литералы [lex.bool]
  • C++14 стандарт (ISO/IEC 14882:2014):
  • 2.13.6 Логические литералы [lex.bool]
  • C++11 стандарт (ISO/IEC 14882:2011):
  • 2.13.6 Логические литералы [lex.bool]
  • C++98 стандарт (ISO/IEC 14882:1998):
  • 2.13.5 Логические литералы [lex.bool]

[править] Смотрите также

Документация C по Предопределённые Логические константы