Q. 왜 아두이노 ESP32보드를 사용할 때 주소를 char*로 넘길까?
A. 함수에서 char*를 arg로 받고 있어서
int begin(const char* ssid, const char *passphrase);
Q. 근데 왜 char*를 쓰죠? string을 써도 되는데?
1) char*로 값을 받으면 길이를 비교하기 편하다.
2) 값이 변경되어야 하는 변수에는 string을 쓴다. 변경하지 않고 한 번 할당한 값을 계속 쓴다면 (const char*만 유효하고 그냥 char*로는 사용할 수 없다) char*로 사용하자.
char*
char* → string
const char *s = "Hello, World!";
std::string str(s);
std::string str;
const char *c = str.c_str();
std::string str;
// before 17
char *c = &str[0];
// since 17
std::string str;
char *c = str.data();