C スタイルの配列を使用すべきではないことはわかっていますが、とにかくこれを行う方法を探していました。const char*
配列をアルファベット順に並べ替えようとしていますが、std::sort
うまくいきませんでした。私は何を間違っていますか?
#include <iostream>
#include <algorithm>
int main() {
const char * str[5] = {"alpha", "gamma", "beta", "delta", "chi"};
int size = sizeof(str)/sizeof(*str);
std::sort(str, str + size);
for (int i = 0; i < size; i++) std::cout << str[i] << ", ";
}
配列はまったく変更されません。私は何をしていないのですか?