Benutzerinformationen überspringen
Wohnort: ghetto block 24
Beruf: Swag taken
Ingame-Name: Juckt?
Clan: Juckt?
Renommeemodifikator: 6
Habe so ein c++ buch, ist aber mal verdamt komplex .. da verliert man sofort die lust daran
Benutzerinformationen überspringen
Wohnort: Dachgeschoss|NRW
Ingame-Name: warkid
Clan: [PiT], iX
Renommeemodifikator: 11
Hast du überhaupt schon einen Text-Editor mit Compiler (um den Programmcode auszuführen)?
Benutzerinformationen überspringen
Wohnort: ghetto block 24
Beruf: Swag taken
Ingame-Name: Juckt?
Clan: Juckt?
Renommeemodifikator: 6
Okay Danke :) hatte da so ein programm, war aber glaube ich etwas falsches . Trotzdem werde ich mal wieder ein anlauf versuchen und auch wenns am anfang kein spaß macht mich durch zu beißen :)Hast du überhaupt schon einen Text-Editor mit Compiler (um den Programmcode auszuführen)?
falls nicht: damit du dir das googlen sparen kannst, hier sind die am weitestesten verbreiteten IDEs:
für java intellij IDEA oder eclipse, für c / c++ ms visual studio
Benutzerinformationen überspringen
Wohnort: /home/tim
Beruf: Schüler
Ingame-Name: lush'
Clan: BloodZ|dgt.
Renommeemodifikator: 5
Das liegt nicht am Buch, sondern an der SpracheZitat
Habe so ein c++ buch, ist aber mal verdamt komplex .. da verliert man sofort die lust daran
Benutzerinformationen überspringen
Wohnort: ghetto block 24
Beruf: Swag taken
Ingame-Name: Juckt?
Clan: Juckt?
Renommeemodifikator: 6
Nur das Problem jetzt ist, da lernt man mit Deutsch das Coden also nicht auf Englisch, wär das für ein anfang doof? Immerhin könnte ich ja vllt mal auf Englisch rüber gehen oder wird das zu schwer?
Benutzerinformationen überspringen
Wohnort: ghetto block 24
Beruf: Swag taken
Ingame-Name: Juckt?
Clan: Juckt?
Renommeemodifikator: 6
Okay das ist gut zu wissen danke :)Nur das Problem jetzt ist, da lernt man mit Deutsch das Coden also nicht auf Englisch, wär das für ein anfang doof? Immerhin könnte ich ja vllt mal auf Englisch rüber gehen oder wird das zu schwer?
wie auf deutsch? auch wenn es eher ne schlechte angewohnheit ist, kannst du deine variablen, funktionen etc ruhig mit deutschen namen versehen. alles andere ist in jeder sprache genau gleich. oder ich verstehe deine frage nicht.
EDIT: also ich habs mir ein bisschen angeschaut, er hat halt einfach alle klassen und so mit deutschen namen versehen. das ist kein problem, das kann man machen, wie man möchte. (wie gesagt, englisch ist immer besser, weil die ganze welt deinen code versteht, aber am anfang sollte deutsch völlig reichen)
Benutzerinformationen überspringen
Wohnort: Dachgeschoss|NRW
Ingame-Name: warkid
Clan: [PiT], iX
Renommeemodifikator: 11
C++ Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
#include <chrono> #include <iostream> #include <thread> #include <future> #include <type_traits> template<typename Func, typename... Args, typename LambdaReturn = typename mlk::lambda_info<Func>::return_type> auto doSmthInTheFuture(Func&& f, Args&&... args) { std::packaged_task<LambdaReturn(Args...)> task{f}; std::future<LambdaReturn> future{task.get_future()}; std::thread(std::move(task), std::forward<Args>(args)...).detach(); return future; } template<int i, int max> typename std::enable_if<(i >= max), void>::type createTask() { /* Do nothing; end call loop */ } template<int i, int max> typename std::enable_if<(i < max), void>::type createTask() { doSmthInTheFuture([](int sink) { std::this_thread::sleep_for(std::chrono::milliseconds(500)); std::cout << "This is task number: " << sink << std::endl; }, i).wait(); createTask<i + 1, max>(); } template<int numTasks> void taskFactory() { createTask<0, numTasks>(); } int main() { taskFactory<5>(); // create a task in the future auto future = doSmthInTheFuture([](int i) { std::this_thread::sleep_for(std::chrono::milliseconds(1000)); std::cout << "I come from the future. Meaning of life: " << i << std::endl; return i * 2; }, 42 /* arguments for the task */); std::cout << "Waiting for the future..." << std::endl; future.wait(); // wait for the future to finish its task std::cout << "The future returned: " << future.get() << std::endl; // get the future return // Output: // This is task number: 0 // This is task number: 1 // This is task number: 2 // This is task number: 3 // This is task number: 4 // Waiting for the future... // I come from the future. Meaning of life: 42 // The future returned: 84 } |
wenn mans dann kann, kann man irgendwann mal sowas komplett sinnloses machen xD
Benutzerinformationen überspringen
Wohnort: /home/tim
Beruf: Schüler
Ingame-Name: lush'
Clan: BloodZ|dgt.
Renommeemodifikator: 5
Naja den Code schrotten und solange alles austauschen bis die Munition einer Waffe verändert wurde etc. würde ich jz. nicht als coden bezeichnen, von daher kann C++ schonmal nicht schadenZitat
Für Teeworlds muss man kein C++ können und umgekehrt, bestes beispiel bin da ich xD
Das ist eigtl. wirklich vollkommen egal.Zitat
Nur das Problem jetzt ist, da lernt man mit Deutsch das Coden also nicht
auf Englisch, wär das für ein anfang doof? Immerhin könnte ich ja vllt
mal auf Englisch rüber gehen oder wird das zu schwer?
Kommt auf die Sprache anZitat
Also du kannst deine variablen auch crytopgraphieren, funktionieren tut ein programm dann immernoch ^^
besser, schneller, schöner, moderner, die zukunft von c++, https://isocpp.org/blog/2014/08/we-have-cpp14OT: @ Malek
Wieso tut man sich Template-Programmierung in C++ an?
C++ Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
class SomeType { public: void handle() { } }; template<typename AnyType> void doStuffT(AnyType& obj) { obj.handle(); } int main() { SomeType obj; doStuffT(obj); } |
C++ Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
class Base { public: virtual void handle() = 0; }; class Derived final : public Base { public: virtual void handle() override { } }; void doStuff(Base* b) { b->handle(); } int main() { Derived d; doStuff(&d); } |
Benutzerinformationen überspringen
Wohnort: /home/tim
Beruf: Schüler
Ingame-Name: lush'
Clan: BloodZ|dgt.
Renommeemodifikator: 5
C++ Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
class Something { void handle{ } } void doStuff(T) (T obj) { obj.handle(); // per templateConstraint könnte man das ganze noch compile-time sicher machen, wäre dann so: void doStuff(T) (T obj) if ( T.isHandler) } void main() { auto obj = new Something(); obj.doStuff(); } |