Home
ITA - Appunti Cpp 006 - If Else
November 2023 (290 Words, 2 Minutes)
linux
cpp
Esempi base per if-else
:
#include <iostream>
int main()
{
// semplice if-statement
int i = 2;
if (i > 2)
std::cout << i << " maggiore di 2\n";
else
std::cout << i << " non maggiore di 2\n";
// if-statement annidati
int j = 1;
if (i > 1)
if (j > 2)
std::cout << i << " > 1 e " << j << " > 2\n";
else // questo else è parte di if (j > 2), non di if (i > 1)
std::cout << i << " > 1 and " << j << " <= 2\n";
// declarations can be used as conditions with dynamic_cast
// le dichiarazioni di oggetti possono esere condizioni con dynamic_cast
struct Base
{
virtual ~Base() {}
};
struct Derived : Base
{
void df() { std::cout << "df()\n"; }
};
Base* bp1 = new Base;
Base* bp2 = new Derived;
if (Derived* p = dynamic_cast<Derived*>(bp1)) // cast fallisce, viene ritornato nullptr
p->df(); // non eseguito
if (auto p = dynamic_cast<Derived*>(bp2)) // cast ha successo
p->df(); // eseguito
}
Note
Gestione dello scope:
if (x)
int i;
// i non è più in scope
// è lo stesso di
if (x)
{
int i;
}
// i non è più in scope
e anche:
if (int x = f())
{
int x; // errore: ridichiarazione di x
}
else
{
int x; // errore: ridichiarazione di x
}
Riferimenti
© 2024 Stefano Prina
Quest'opera è distribuita con Licenza Creative Commons Attribuzione - Condividi allo stesso modo 4.0 Internazionale Theme Moonwalk
Quest'opera è distribuita con Licenza Creative Commons Attribuzione - Condividi allo stesso modo 4.0 Internazionale Theme Moonwalk