Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

rzutowanie za pomocą operatora static_cast

Ostatnio zmodyfikowano 2016-08-03 00:20
Autor Wiadomość
latajacaryba
Temat założony przez niniejszego użytkownika
rzutowanie za pomocą operatora static_cast
» 2016-07-31 00:19:32
Witam. Od razu przejdę do rzeczy: uczę się rzutowania za pomocą operatorów rzutowania i mam operator static_cast. Stworzyłem taki oto program do bawienia się tym operatorem.
#include <iostream>
using namespace std;
int main(){
int a;
float b=2.8;
a=static_cast<int>(b);
cout<<a<<endl<<b;


    return 0;
}

Problem w tym, ze nie wiem do czego jest to <int>, skoro nawet jeśli wpisze tam char to wszystko dalej będzie działać. Problem jest tylko przy void. Czy to ważne co tam wpisze? Z góry dziękuję.
P-150425
mateczek
» 2016-07-31 00:35:30
będzie działać nawet jak nic nie wpiszesz!!!
C/C++
#include <iostream>
using namespace std;
int main() {
    int a;
    float b = 2.8;
    a = b;
    cout << a << endl << b;
   
   
    return 0;
}
P-150426
latajacaryba
Temat założony przez niniejszego użytkownika
» 2016-07-31 00:50:58
Jasne, mogę wpisać a=b, ale chcę nauczyć się rzutowania operatorem static_cast. Jeśli chodzi Ci o taką sytuację:
#include <iostream>

using namespace std;
int main(){
int a;
float b=2.8;
a=static_cast<>(b);
cout<<a<<endl<<b;


    return 0;
}

gdzie w <> nic nie ma, to nie, nie będzie działać.
P-150427
carlosmay
» 2016-07-31 08:46:09
static_cast<>
W nawiasie ostrym podajemy typ na jaki chcemy castować.

uczę się rzutowania za pomocą operatorów rzutowania
static_cast<> to szablon klasy. Znajdź coś w sieci o szablonach klas
i stanie się jasne po co jest ten nawias <>.
P-150430
Elaine
» 2016-07-31 13:45:13
static_cast<> to szablon klasy
wat

static_cast to operator. Typ wewnątrz nawiasów ostrych jest potrzebny dlatego, że tak wygląda jego składnia.
postfix-expression:
[…]
static_cast < type-id > ( expression )

Czy to ważne co tam wpisze?
Bardzo ważne, bo od tego, co wpiszesz w nawiasy ostre zależy wynik tego operatora. Jeśli chcesz przekonwertować coś na int, to w tych nawiasach powinno być int.
The result of the expression static_cast<T>(v) is the result of converting the expression v to type T.
P-150433
carlosmay
» 2016-07-31 16:45:23
static_cast<> to szablon klasy
wat
Źle doczytałem. Nie miałem jak poprawić błąd. Przepraszam za wprowadzanie w błąd.
P-150435
latajacaryba
Temat założony przez niniejszego użytkownika
» 2016-08-01 00:26:58
Ale nawet jak wpisywałem tam zamiast int char to i tak konwertowało na int.
P-150444
carlosmay
» 2016-08-01 00:48:49
C/C++
int main()
{
    int number = 77;
    cout << static_cast < char >( number ) << '\n'; // M
}
P-150445
« 1 » 2 3
  Strona 1 z 3 Następna strona