Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
例えば:
string str[3]; void foo(char** str) { //do something to str... }
便利な方法で str[] を関数 foo に渡す方法は?
この関数はポインターの配列を想定しているため、文字列の配列からポインターを作成する必要があります。
std::vector<char*> pointers; for (auto & s : str) { pointers.push_back(&s[0]); } foo(&pointers[0]);
関数がポインターまたはそれらが指す文字列を変更する場合、これは有効ではない可能性があることに注意してください。可能であれば、C スタイルと C++ スタイルの文字列処理を混在させないようにすることをお勧めします。