string型にc_strメンバ関数を適用するとcharのconst char 配列のアドレスが得られる
#include <string>
#include <iostream>
using namespace std;
int ccount(const char* a){
int r = 0;
while(*a){
++r;
++a;
}
return r;
}
int main(){
string test_str = "test";
int count = ccount(test_str.c_str());
cout << count << endl;
}
whlile(*a)と書くところはわかるんだけど、引数にconst charでないとだめな理由がわからん。const charとcharって違う型なのか?単にconstっていうキーワードがついてるだけなんだと思ってた。
あと、typedefの使い方もなんとなくわかった。mapとか省略したくなる。