Форум программистов, компьютерный форум CyberForum.ru

Почему char * ? Попахивает извращением - C++

Восстановить пароль Регистрация
 
mariko_11
2 / 2 / 1
Регистрация: 11.03.2013
Сообщений: 64
13.04.2014, 23:32     Почему char * ? Попахивает извращением #1
Речь идёт о функции-элементе write класса ostream. Почему там указатель на char в качестве первого параметра? В результате приходится приводить к этому типу адреса любых объектов, которые записываются в файл. Это же извращение. Есть способы обойти это - например, сделать параметр шаблона и заменить им char. Но почему-то реализован вот этот странноватый вариант. Почему ?
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.04.2014, 23:32     Почему char * ? Попахивает извращением
Посмотрите здесь:

C++ conversion from ‘char’ to ‘const char*’
почему часть текста исчезает ? переменная char и цикл C++
Почему тип char не может делать вот так += C++
cin получил char вместо double и while зациклился. Почему? C++
C++ Совместимость char и unsigned char
C++ Почему при выводе в поток char* выводится весь массив символов?
Специализация шаблона для char * (рабочий код, но непонятно почему) C++
Почему sizeof массива char равно 4? C++
Почему при выводе указателя получаем для char - значение по адресу, а для других типов - адрес C++
C++ Почему два char нельзя сравнивать так ==?
Почему не выдает значения char с таблицы? C++
C++ Почему при изменении литерала const char* программа падает?

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
newbie666
Заблокирован
13.04.2014, 23:37     Почему char * ? Попахивает извращением #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от mariko_11 Посмотреть сообщение
Почему ?
ну так сделали ёлки палки, для меня тоже непонятно, почему там char, а не byte ( unsigned char), но всё же - ты ж этой функцией записываешь побайтно байты, а байты - это и есть unsigned char
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
12278 / 6965 / 784
Регистрация: 27.09.2012
Сообщений: 17,272
Записей в блоге: 2
Завершенные тесты: 1
13.04.2014, 23:41     Почему char * ? Попахивает извращением #3
Во-первых не char*, а const char*, а во-вторых, write пишет байты, а не объекты и ему глубоко плевать что ему передали, для него важно знать откуда начинать брать эти самые байты(const char*) и сколько штук их взять (streamsize)
Yandex
Объявления
13.04.2014, 23:41     Почему char * ? Попахивает извращением
Ответ Создать тему
Опции темы

Текущее время: 18:26. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru