#casting #char #unsigned
Вопрос:
Это вопрос для университетского курса, из которого я понимаю только половину.
#include <iostream>
using namespace std;
void printArray(double* array, int array_size) {
cout << "Array: ";
for (int i = 0; i < array_size; i )
cout << array[i] << " ";
cout << endl;
}
int main() {
double d[] = {0, 0, 0, 0, 0};
unsigned char* uchar_ptr = reinterpret_cast<unsigned char*>(d);
printArray(d, 5);
for (int i = 0; i < 5; i )
for (int j = 0; j < sizeof(double); j )
uchar_ptr[i * sizeof(double) j] = 1;
printArray(d, 5);
} ///:~
Я понимаю, что эта программа создает массив типа double и печатает его содержимое в первой функции. Не уверен, что делает Main.
Мой вопрос в том.
- Что именно такое символ без знака*
- Что именно делает ‘reinterpret_cast<символ без знака*>(d)’
- почему это «двойной* массив», а не просто «двойной массив»
вопрос, который задает учебник, звучит так: «Как вы думаете, почему для каждого элемента не был установлен элемент 1?
Комментарии:
1. Пожалуйста, отредактируйте вопрос, чтобы ограничить его конкретной проблемой с достаточной детализацией для определения адекватного ответа.
2. Привет, бот. Я действительно не знаю, как я могу сделать это более конкретным, но спасибо за помощь.