пример кода:
char *array = "привет";
cout << array;
Почему выводится все слово, а не первая буква?
Непонятно, почему вы ожидали получить один символ.
Ведь если бы указатель был не на char
, а, скажем, на int
, то вы получили бы не этот int
, а численное значение самого указателя (в шестнадцатеричном виде):
int array[] = {1,2,3};
int *ptr = &array[0];
std::cout << ptr << '\n'; // `0x7ffdc12431dc`, а не `1`
(Вроде бы в стандарте не написано, как точно должны выводиться указатели, но на всех компиляторах, которые я видел, они выводятся как шестнадцатеричные числа.)
Для cout
указатели на char
- это особый случай. cout
считает их указателями на начало строк, и выводит как строки.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Работаю с std::list Есть класс TTimerData (с методами) который надо поместить в лист
Хочу получить текстовое содержимое по id, например получить "6000118":
Подскажите, делаю запрос к AD и через консоль вижу все данные, но если пытаюсь добавить в select, то пишет ошибка, где я накосячил с кодом? Может...