rzutowanie za pomocą operatora static_cast
Ostatnio zmodyfikowano 2016-08-03 00:20
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ę. |
|
mateczek |
» 2016-07-31 00:35:30 będzie działać nawet jak nic nie wpiszesz!!! #include <iostream> using namespace std; int main() { int a; float b = 2.8; a = b; cout << a << endl << b; return 0; }
|
|
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ć. |
|
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 <>. |
|
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. |
|
|
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. |
|
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. |
|
carlosmay |
» 2016-08-01 00:48:49 int main() { int number = 77; cout << static_cast < char >( number ) << '\n'; }
|
|
« 1 » 2 3 |