# Kinder Kart Motor Softstart

**URL:** <https://forum.arduino.cc/t/kinder-kart-motor-softstart/967918>\
**Category:** Deutsch\
**Created:** [March 10, 2022, 8:38pm UTC](https://forum.arduino.cc/t/kinder-kart-motor-softstart/967918 "2022-03-10T20:38:56Z")\
**Posts on this page:** 1\
**Showing post:** 82

<div class="post-metadata">

**Author:** ![combie](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/combie/32/217369_2.png) [@combie](https://forum.arduino.cc/u/combie)\
**Post date:** [March 21, 2022, 11:26am UTC](https://forum.arduino.cc/t/kinder-kart-motor-softstart/967918/82 "2022-03-21T11:26:30Z")

</div>

> [@agmue](#):
>
> Das finde ich krass!

Wir Menschen neigen dazu, die Welt zu vereinfachen, um sie verstehen zu können.

Dazu gehört auch die automatische Annahme, dass ein undefiniertes Verhalten, auf einen lokalen Umstand begrenzt ist.

Ist es aber nicht, denn dann wäre es ja definierbar, zumindest definierbar auf einen Ort.

Mein Rat:  
Wenn der Standard zu irgendwas sagt: Das ist ein UB!  
Dann ist das so.  
Danach irgendwelche Annahmen über irgendwas zu treffen, egal was, ist ein fataler Irrtum.  
Oder anders:  
Ein einzelner kleiner UB Vorfall, ist das Todesurteil für das Gesamtprogramm!  
Zwangsläufig, vollständig, immer und unausweichlich.  
Denn das ist was der Begriff "Undefined Behavior" aussagt, im wörtlichen Sinne.

Natürlich kann es auch zufälligerweise, genau das tun, was du erwartest.  
Aber das ist sicher kein Verdienst deiner Arbeit, des µC oder der Sprache an sich.  
Sondern etwas undefiniertes.

Auch hier ein bemerkenswertes Beispiel dafür:  
(In dem Thread hat ein anderer eine falsche Annahme über die Tragweite eines UB)

> [@Arduino Uhr: bricht nach 30 Sekunden ab](https://forum.arduino.cc/t/arduino-uhr-bricht-nach-30-sekunden-ab/965367/16):
>
> OK... Das kann ich dir widerlegen! (ohne Probleme) Ein Beispiel für einen UNO, oder vergleichbaren: byte feld[200]; void setup() { Serial.begin(9600); // alle Zellen vorbesetzen for(byte &data:feld) data = 0xFF; int result = 0; for(byte data:feld) result += data; Serial.print(result); } void loop(){} Wenn der undefinierte Überlauf nur ein Implementationsdefinierter Überlauf wäre, dann würde der print(result) nicht 4294952760 anzeigen können! Tut er aber! Du…

---

_[View the full topic](https://forum.arduino.cc/t/kinder-kart-motor-softstart/967918)._
