Code Aufräumen/Verbessern, Speicherplatz freigeben

Das kann sein, muss aber nicht.
const kann dem Optimizer auf die Sprünge helfen.
Muss aber nicht.

void tuwas(const int parameter);
Der Compiler schreit, wenn du parameter in der Funktion ändern willst.

virtual size_t printTo(Print& p) const = 0;
Der compiler schreit, wenn du versuchst, in der Methode Eigenschaften der Instanz zu ändern.

Ansonsten ist die C++ Referenz da recht klar, was const tut, und wo man es anwenden kann und darf.
Das gilt natürlich auch für constexpr

Wer const verwendet, wenn constexpr möglich wäre, darf nicht an Speicher sparen denken. Denn das wäre Irrational.
Begreife das als austeilen, wenn ich dir deine Irrationalität vor Augen führe.
Meinen Segen du hast.
Aber nicht meine Zustimmung.

Super Argument!

Das kann ich dir Beweisen.
Incl. der Nebenwirkung!

#include <Streaming.h> // die Lib findest du selber ;-)
Stream &cout = Serial; // cout Emulation für "Arme"
void  boeseFunktion(char *str)
{
  *str = 'B';
}
void setup() 
{
  Serial.begin(9600);
  
  const char* t1   = "Hello";
  const char  t2[] = "Hello";
  boeseFunktion((char*)t1); // eigentlich ist der Cast boese
 // boeseFunktion(t1); // warning: invalid conversion from 'const char*' to 'char*'
  
  cout << t1 << endl;
  cout << t2 << endl;
  cout << "Hello" << endl;
}
void loop() 
{
}

Ausgabe:

Bello
Hello
Bello
1 Like