Так что я возился с векторами и windows-api, и кто-то предложил использовать указатель на первый элемент вектора в качестве буфера для функции.
Я вышел и попытался распечататьмассив с синтаксисом, и он напечатал весь массив, и теперь мне интересно, почему это так?
char test[10] = { 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j' };
std::cout << &test[0] << std::endl;
//output: abcdefghij
Редактировать 1: я обнаружил, что печать с именем массива тоже работает, но этот код удивил меня, потому что с помощьюссылочный синтаксис печатает массив символов в порядке убывания.Но без использования синтаксиса рефренсирования это не удивляет, почему это так?
for (int i = 0; i < 10; i++) {
std::cout << &test[0] + i << " ";
}
//outputs: abcdefghij bcdefghij cdefghij defghij efghij fghij ghij hij ij j