Maison > développement back-end > Tutoriel C#.Net > Explication détaillée de l'utilisation des types et références booléens C++

Explication détaillée de l'utilisation des types et références booléens C++

php是最好的语言
Libérer: 2018-08-06 09:17:21
original
4075 Les gens l'ont consulté

1. Type booléen

Type booléen en C++

  • C++ ajoute bool

  • Les seules valeurs possibles pour

    en C++ sont bool et truefalse

  • Théoriquement,

    occupe un octetbool

Remarque :

représente une valeur vraie et est représenté par 1 en interne dans le compilateur true

représente un non-. vraie valeur, en interne dans le compilateur. Utilisez 0 pour représenter false

En langage C :

utilise une valeur entière pour remplacer le type

couramment utilisé. >boolC++ a amélioré le type. Un type 0:flase, 1:true très strict a été ajouté, et

et
existent comme mots-clés.

bool Dans le type booléen du C++, le type true n'a que deux valeurs : false et

Le compilateur C++ convertira les valeurs non-0 en valeurs

et 0 ​. ​dans bool . truefalsetrueEn fait, dans le langage C++, l'implémentation interne du type booléen est implémentée sous la forme d'un octet entier. Le type false prend en charge les opérations mathématiques, et le compilateur l'ajustera en interne si c'est le cas. n'est pas 0 est vrai, 0 est faux

bool b = 0;
printf("b = %d\n", b);
b++;
printf("b = %d\n", b);
b = b - 3;
printf("b = %d\n", b);
// bool类型是否支持数学运算?
Copier après la connexion
Test de code :
bool

Le type booléen est le type de données de base en C++

#include <stdio.h>

int main(int argc, char *argv[])
{
    bool b = false;
    int a = b;
    
    printf("sizeof(b) = %d\n", sizeof(b));
    // sizeof(b) = 1, bool类型占一个字节
    printf("b = %d, a = %d\n", b, a);    0
    // b = 0, a = 0
    
    b = 3;    // b = 1
    a = b;  // a = 1
    
    printf("b = %d, a = %d\n", b, a);
    
    b = -5;    // b = 1
    a = b;  // a = 1
    
    printf("b = %d, a = %d\n", b, a);
    
    a = 10; // a = 10
    b = a;  // b = 1
    
    printf("a = %d, b = %d\n", a, b);
    
    a = 0;    // a = 0
    b = a;  // b = 0
    
    printf("a = %d, b = %d\n", a, b);
    
    return 0;
}
Copier après la connexion

peut être défini Les variables globales de type

  • bool peuvent définir des constantes de type

  • bool peuvent définir des pointeurs de type

  • bool peut définir un tableau de type

  • ......

    bool

    2 .Opérateur ternaire
L'opérateur ternaire a été mis à niveau en C++

Déterminez si le code suivant est correct, compilez et exécutez le test en langage C et dans l'environnement C++ respectivement

<. 🎜>

Opérateur ternaire

int a = 1;
int b =2;
(a < b ? a : b) = 3;
printf("a = %d, b = %d\n", a, b);
// 在C语言中报错
// 在C++中,结果a = 3
Copier après la connexion
L'opérateur ternaire en langage C renvoie la valeur de la variable

  • ne peut pas être utilisé comme lvalue

    • L'opérateur ternaire en C++ peut renvoyer directement la variable elle-même

  • peut être utilisé à la fois comme rvalue et Can être utilisé comme lvalue

    • Remarque : Si l'une des valeurs pouvant être renvoyées par l'opérateur

    • ternaire est une valeur constante, elle ne peut pas être utilisé comme lvalue
L'opérateur ternaire ne peut être utilisé comme lvalue que lorsque tous les retours possibles sont des variables. Une constante et une variable ne peuvent pas être utilisées comme lvalue

C++ ternaire. opérateur Quel est l'intérêt d'une telle mise à niveau pour l'opérateur ?

Lorsque tous les retours possibles de l'opérateur ternaire sont des variables,

renvoie la variable elle-même
, ce qui conduit à un nouveau concept : Référence

Référence

<🎜. >3.1 Nom de la variableUne variable est un alias pour une période d'espace de stockage continu réel Dans le programme, l'espace de stockage est demandé et nommé via des variables. L'espace de stockage peut être utilisé via le nom de la variable. variable.

Question : Un espace de stockage continu peut-il avoir un seul alias ?

3.2 Référence


Référence en C++Explication détaillée de lutilisation des types et références booléens C++

La notion de référence est ajoutée en C++

  • Une référence peut être considérée comme un alias pour une variable définie

    int a = 4;
    int& b = a;     // b作为a的别名
    b = 5;        // 操作b就是操作a
    Copier après la connexion
    • La syntaxe d'une référence :
    • Remarque : Type& name = var;

      Les références ordinaires doivent être initialisées avec des variables du même type lorsqu'elles sont définies.

Que fait le C++ avec l'opérateur ternaire ?

  • Lorsque les retours possibles de l'opérateur ternaire sont tous des variables, ce qui est renvoyé est une

    référence de variable
    int a = 1;
    int b = 2;
    (a < b ? a : b) = 3;    // ok,返回a或b的引用,可作为左值
    (a < b ? 1 : b) = 4;    // err,返回1或b的值,不能作为左值
    Copier après la connexion
    • Lorsqu'il y a des constantes dans les retours possibles de l'opérateur ternaire, la valeur renvoyée est la valeur

    • 4. Résumé Le type

    est un type de base nouvellement ajouté en C++. La valeur du type ne peut être que

    et

    bool. en C++ peut être utilisé comme valeur de gauche en utilisant

    bool Les références en C++ peuvent être considérées comme des alias de variables Lors de l'utilisation de truefalse, les retours possibles de l'opérateur ternaire sont tous des variables, le. la référence renvoyée est

    Articles connexes :

    Exemples d'utilisation du type php boolean (Boolean)

    Introduction à l'utilisation de Type de données booléen PHP faux vrai

    Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
c c++
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal