I am not sure, what I talk about. The concept of class is still somewhat blurry for me, but it helped a bit when you say, that String is a class. But the above video showed several member functions, that was not found in the arduino String class definitions. So I guess this confused me. This is some code for arduino:
String str;
String str2;
int n;
char ch;
void setup() {
Serial.begin(9600);
str = "ABC";
Serial.println(str);
n = str.length(); // length() is OK
Serial.println( n );
str.clear(); // clear() is not part of the Arduino String class
if (str.empty()) {Serial.println("string is empty");}; //empty() is not part of the Arduino String class
str.append('D'); // append() is not part of the Arduino String class
Serial.println(str);
ch = str.at(2); // at() is not part of the Arduino String class
str2 = str.substring(0,1); // substring() is OK
str.insert(1,"X"); // insert() is not part of the Arduino String class
n = str.find('B'); // find() is not part of the Arduino String class
str.erase(0,1); // erase() is not part of the Arduino String class
}
void loop() {
delay(1);
}
The YouTuber referenced this webpage with a lot of member functions to a string. Perhaps the names of these member functions are not that agreed upon among C++ compilers.